UIPainter.st
author ca
Fri, 21 Feb 1997 20:33:57 +0100
changeset 58 668eb9eae2ac
parent 55 19e021c8f1ef
child 59 0a2b2ff030a0
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
     1
"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
     2
 COPYRIGHT (c) 1995 by Claus Gittinger
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
     3
	      All Rights Reserved
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
     4
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
     5
 This software is furnished under a license and may be used
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    10
 hereby transferred.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    11
"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    12
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    13
ApplicationModel subclass:#UIPainter
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    14
	instanceVariableNames:'menu nameField elementMenu workView treeView outletView stringBox
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    15
		actionBox listBox fileBox currentFileName topView propertyFrame
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
    16
		whichProperty nameChannel applyAction specClass specSelector
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
    17
		specSuperclass aspectHolders specShown specSpecificAspectHolders
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
    18
		claus'
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    19
	classVariableNames:''
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    20
	poolDictionaries:''
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    21
	category:'Interface-UIPainter'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    22
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    23
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
    24
HorizontalPanelView subclass:#ButtonPanel
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
    25
	instanceVariableNames:'receiver argumentToSelector'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
    26
	classVariableNames:''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
    27
	poolDictionaries:''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
    28
	privateIn:UIPainter
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
    29
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
    30
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    31
!UIPainter class methodsFor:'documentation'!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    32
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    33
copyright
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    34
"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    35
 COPYRIGHT (c) 1995 by Claus Gittinger
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    36
	      All Rights Reserved
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    37
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    38
 This software is furnished under a license and may be used
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    39
 only in accordance with the terms of that license and with the
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    40
 inclusion of the above copyright notice.   This software may not
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    41
 be provided or otherwise made available to, or used by, any
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    42
 other person.  No title to or ownership of the software is
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    43
 hereby transferred.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    44
"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    45
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    46
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    47
documentation
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    48
"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    49
    not yet finished, not yet published, not yet released.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    50
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    51
    [start with:]
46
8301d6b9e67c *** empty log message ***
ca
parents: 42
diff changeset
    52
        UIPainter open
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    53
"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    54
! !
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    55
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    56
!UIPainter class methodsFor:'interface specs'!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    57
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    58
actionButtonModelSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    59
    "UIPainter new openOnClass:self andSelector:#actionButtonModelSpec"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    60
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    61
    <resource: #canvas>
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    62
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    63
    ^
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    64
     
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    65
       #(#FullSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    66
          #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    67
           #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    68
              #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    69
               #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    70
                 #(#FramedBoxSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    71
                    #'layout:' #(#LayoutFrame 0 0 -1 0 251 0 289 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    72
                    #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    73
                     #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    74
                        #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    75
                         #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    76
                           #(#VerticalPanelViewSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    77
                              #'layout:' #(#LayoutFrame 6 0 26 0 78 0 216 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    78
                              #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    79
                               #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    80
                                  #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    81
                                   #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    82
                                     #(#LabelSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    83
                                        #'name:' 'label'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    84
                                        #'layout:' #(#LayoutFrame 0 0 47 0 57 0 71 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    85
                                        #'label:' 'aspect:'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    86
                                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    87
                                     #(#LabelSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    88
                                        #'name:' 'label'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    89
                                        #'layout:' #(#LayoutFrame 0 0 119 0 62 0 143 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    90
                                        #'label:' 'change:'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    91
                                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    92
                                  )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    93
                              )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    94
                              #'horizontalLayout:' #left
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    95
                              #'verticalLayout:' #spreadSpace
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    96
                          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    97
                           #(#VerticalPanelViewSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    98
                              #'layout:' #(#LayoutFrame 80 0 24 0 231 0 214 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
    99
                              #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   100
                               #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   101
                                  #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   102
                                   #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   103
                                     #(#InputFieldSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   104
                                        #'name:' 'aspectInput'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   105
                                        #'layout:' #(#LayoutFrame 0 0 49 0 163 0 69 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   106
                                        #model: #aspectChannel
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   107
                                        #acceptOnLostFocus: true
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   108
                                        #tabable: true
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   109
                                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   110
                                     #(#InputFieldSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   111
                                        #'name:' 'changeInput'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   112
                                        #'layout:' #(#LayoutFrame 0 0 119 0 163 0 142 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   113
                                        #model: #changeChannel
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   114
                                        #acceptOnLostFocus: true
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   115
                                        #tabable: true
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   116
                                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   117
                                  )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   118
                              )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   119
                              #'horizontalLayout:' #fit
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   120
                              #'verticalLayout:' #spreadSpace
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   121
                          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   122
                           #(#ActionButtonSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   123
                              #'name:' 'button'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   124
                              #'layout:' #(#LayoutFrame 102 0 246 0 153 0 272 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   125
                              #'label:' 'apply'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   126
                              #'model:' #setModelAspects
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   127
                          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   128
                        )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   129
                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   130
                    #'labelPosition:' #topLeft
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   131
                    #'showFrame:' false
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   132
                )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   133
              )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   134
          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   135
          #'window:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   136
           #(#WindowSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   137
              #'label:' 'unnamed'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   138
              #'bounds:' #(#Rectangle 0 0 255 292)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   139
          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   140
      )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   141
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   142
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   143
cancelAndApplySpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   144
    "this window spec was automatically generated by the ST/X UIPainter"
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   145
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   146
    "do not manually edit this - the painter/builder may not be able to
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   147
     handle the specification if its corrupted."
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   148
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   149
    "
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   150
     UIPainter new openOnClass:UIPainter andSelector:#cancelAndApplySpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   151
     UIPainter new openInterface:#cancelAndApplySpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   152
    "
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   153
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   154
    <resource: #canvas>
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   155
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   156
    ^
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   157
     
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   158
       #(#FullSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   159
          #'window:' 
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   160
           #(#WindowSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   161
              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   162
              #'label:' 'unnamed'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   163
              #'bounds:' #(#Rectangle 0 0 225 45)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   164
          )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   165
          #'component:' 
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   166
           #(#SpecCollection
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   167
              #'collection:' 
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   168
               #(
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   169
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   170
                    #'name:' 'cancel'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   171
                    #'layout:' #(#LayoutFrame 26 0 13 0 77 0 35 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   172
                    #'label:' 'cancel'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   173
                    #'model:' #cancel
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   174
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   175
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   176
                    #'name:' 'apply'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   177
                    #'layout:' #(#LayoutFrame 139 0 13 0 190 0 35 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   178
                    #'label:' 'apply'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   179
                    #'model:' #apply
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   180
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   181
              )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   182
          )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   183
      )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   184
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   185
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   186
colorSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   187
    "UIBuilder new openOnClass:self andSelector:#colorSpec"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   188
    "Builder new openInterface:#colorSpec"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   189
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   190
    <resource: #canvas>
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   191
    ^
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   192
     
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   193
       #(#FullSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   194
          #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   195
           #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   196
              #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   197
               #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   198
                 #(#FramedBoxSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   199
                    #'layout:' #(#LayoutFrame 0 0 -1 0 252 0 290 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   200
                    #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   201
                     #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   202
                        #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   203
                         #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   204
                           #(#VerticalPanelViewSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   205
                              #'layout:' #(#LayoutFrame 6 0 26 0 100 0 215 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   206
                              #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   207
                               #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   208
                                  #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   209
                                   #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   210
                                     #(#LabelSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   211
                                        #'name:' 'label'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   212
                                        #'layout:' #(#LayoutFrame 0 0 47 0 87 0 71 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   213
                                        #'label:' 'foreground:'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   214
                                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   215
                                     #(#LabelSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   216
                                        #'name:' 'label'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   217
                                        #'layout:' #(#LayoutFrame 0 0 119 0 93 0 143 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   218
                                        #'label:' 'background:'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   219
                                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   220
                                  )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   221
                              )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   222
                              #'horizontalLayout:' #left
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   223
                              #'verticalLayout:' #spreadSpace
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   224
                          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   225
                           #(#VerticalPanelViewSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   226
                              #'layout:' #(#LayoutFrame 114 0 24 0 233 0 213 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   227
                              #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   228
                               #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   229
                                  #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   230
                                   #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   231
                                     #(#InputFieldSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   232
                                        #'layout:' #(#LayoutFrame 0 0 49 0 163 0 69 0)
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   233
                                        #model: #foregroundColor
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
   234
                                        #acceptOnLostFocus: true
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
   235
                                        #tabable: true
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
   236
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   237
                                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   238
                                     #(#InputFieldSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   239
                                        #'layout:' #(#LayoutFrame 0 0 119 0 163 0 142 0)
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   240
                                        #model: #backgroundColor
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
   241
                                        #acceptOnLostFocus: true
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
   242
                                        #tabable: true
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
   243
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   244
                                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   245
                                  )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   246
                              )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   247
                              #'horizontalLayout:' #fit
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   248
                              #'verticalLayout:' #spreadSpace
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   249
                          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   250
                           #(#ActionButtonSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   251
                              #'name:' 'button'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   252
                              #'layout:' #(#LayoutFrame 102 0 246 0 153 0 272 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   253
                              #'label:' 'apply'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   254
                              #'model:' #setColors
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
   255
                              #tabable: true
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
   256
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   257
                          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   258
                        )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   259
                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   260
                    #'labelPosition:' #topLeft
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   261
                    #'showFrame:' false
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   262
                )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   263
              )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   264
          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   265
          #'window:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   266
           #(#WindowSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   267
              #'label:' 'unnamed'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   268
              #'bounds:' #(#Rectangle 0 0 255 292)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   269
          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   270
      )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   271
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   272
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   273
geometrySpecForAlignmentOrigin
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   274
    "
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   275
    UIPainter new openOnClass:self andSelector:#geometrySpecForAlignmentOrigin
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   276
    "
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   277
    <resource: #canvas>
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   278
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   279
    ^
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   280
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   281
       #(#FullSpec
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   282
          #'window:' 
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   283
           #(#WindowSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   284
              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   285
              #'label:' 'unnamed'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   286
              #'bounds:' #(#Rectangle 0 0 248 304)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   287
          )
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   288
          #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   289
           #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   290
              #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   291
               #(
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   292
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   293
                    #'name:' 'label1'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   294
                    #'layout:' #(#LayoutFrame 5 0 42 0 48 0 60 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   295
                    #'label:' 'left'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   296
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   297
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   298
                    #'name:' 'label2'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   299
                    #'layout:' #(#LayoutFrame 5 0 69 0 48 0 87 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   300
                    #'label:' 'top'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   301
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   302
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   303
                    #'name:' 'label3'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   304
                    #'layout:' #(#LayoutFrame 57 0 10 0 103 0 27 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   305
                    #'label:' 'relative'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   306
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   307
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   308
                    #'name:' 'label4'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   309
                    #'layout:' #(#LayoutFrame 154 0 11 0 190 0 28 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   310
                    #'label:' 'offset'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   311
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   312
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   313
                    #'name:' 'label5'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   314
                    #'layout:' #(#LayoutFrame 5 0 96 0 48 0 114 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   315
                    #'label:' 'align H'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   316
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   317
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   318
                    #'name:' 'label6'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   319
                    #'layout:' #(#LayoutFrame 5 0 122 0 48 0 140 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   320
                    #'label:' 'align V'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   321
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   322
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   323
                    #'name:' 'editField1'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   324
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   325
                    #'layout:' #(#LayoutFrame 57 0 42 0 114 0 60 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   326
                    #'model:' #leftFraction
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   327
                    #acceptOnLostFocus: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   328
                    #tabable: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   329
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   330
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   331
                    #'name:' 'editField2'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   332
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   333
                    #'layout:' #(#LayoutFrame 57 0 69 0 114 0 87 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   334
                    #'model:' #topFraction
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   335
                    #acceptOnLostFocus: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   336
                    #tabable: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   337
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   338
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   339
                    #'name:' 'editField5'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   340
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   341
                    #'layout:' #(#LayoutFrame 57 0 96 0 114 0 114 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   342
                    #'model:' #leftAlignmentFraction
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   343
                    #acceptOnLostFocus: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   344
                    #tabable: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   345
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   346
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   347
                    #'name:' 'editField6'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   348
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   349
                    #'layout:' #(#LayoutFrame 56 0 122 0 113 0 140 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   350
                    #'model:' #topAlignmentFraction
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   351
                    #acceptOnLostFocus: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   352
                    #tabable: true
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   353
                )
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   354
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   355
                    #'name:' 'editField3'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   356
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   357
                    #'layout:' #(#LayoutFrame 154 0 42 0 212 0 60 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   358
                    #'model:' #leftOffset
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   359
                    #acceptOnLostFocus: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   360
                    #tabable: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   361
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   362
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   363
                    #'name:' 'editField4'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   364
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   365
                    #'layout:' #(#LayoutFrame 154 0 69 0 212 0 87 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   366
                    #'model:' #topOffset
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   367
                    #acceptOnLostFocus: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   368
                    #tabable: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   369
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   370
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   371
                    #'name:' 'button1'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   372
                    #'layout:' #(#LayoutFrame 119 0 42 0 138 0 60 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   373
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   374
                    #'model:' #makeRelativeLeft
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   375
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   376
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   377
                    #'name:' 'button2'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   378
                    #'layout:' #(#LayoutFrame 119 0 69 0 138 0 87 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   379
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   380
                    #'model:' #makeRelativeTop
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   381
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   382
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   383
                    #'name:' 'button3'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   384
                    #'layout:' #(#LayoutFrame 216 0 42 0 235 0 60 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   385
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   386
                    #'model:' #makeOffsetLeft
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   387
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   388
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   389
                    #'name:' 'button4'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   390
                    #'layout:' #(#LayoutFrame 216 0 69 0 235 0 87 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   391
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   392
                    #'model:' #makeOffsetTop
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   393
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   394
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   395
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   396
               #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   397
                  #'name:' 'button'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   398
                  #'layout:' #(#LayoutFrame 16 0 210 0 76 0 240 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   399
                  #'label:' 'frame'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   400
                  #'model:' #setLayoutFrame
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   401
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   402
               #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   403
                  #'name:' 'button'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   404
                  #'layout:' #(#LayoutFrame 96 0 210 0 156 0 240 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   405
                  #'label:' 'origin'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   406
                  #'model:' #setLayoutOrigin
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   407
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   408
               #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   409
                  #'name:' 'button'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   410
                  #'layout:' #(#LayoutFrame 176 0 210 0 236 0 240 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   411
                  #'label:' 'align'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   412
                  #'model:' #setAlignmentOrigin
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   413
                  #'initiallyDisabled:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   414
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   415
               #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   416
                  #'layout:' #(#LayoutFrame 96 0 260 0 156 0 290 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   417
                  #'label:' 'apply'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   418
                  #'model:' #setDimensionForLayoutFrame
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   419
                  #tabable: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   420
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   421
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   422
              )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   423
          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   424
      )
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   425
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   426
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   427
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   428
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   429
geometrySpecForLayoutFrame
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   430
    "
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   431
    UIPainter new openOnClass:self andSelector:#geometrySpecForLayoutFrame
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   432
    "
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   433
    <resource: #canvas>
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   434
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   435
    ^
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   436
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   437
       #(#FullSpec
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   438
          #'window:' 
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   439
           #(#WindowSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   440
              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   441
              #'label:' 'unnamed'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   442
              #'bounds:' #(#Rectangle 0 0 300 300)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   443
          )
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   444
          #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   445
           #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   446
              #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   447
               #(
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   448
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   449
                    #'name:' 'label left'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   450
                    #'layout:' #(#LayoutFrame 12 0 39 0 53 0 57 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   451
                    #'label:' 'left'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   452
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   453
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   454
                    #'name:' 'label top'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   455
                    #'layout:' #(#LayoutFrame 12 0 67 0 53 0 85 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   456
                    #'label:' 'top'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   457
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   458
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   459
                    #'name:' 'label right'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   460
                    #'layout:' #(#LayoutFrame 12 0 95 0 53 0 113 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   461
                    #'label:' 'right'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   462
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   463
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   464
                    #'name:' 'label bottom'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   465
                    #'layout:' #(#LayoutFrame 12 0 123 0 53 0 141 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   466
                    #'label:' 'bottom'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   467
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   468
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   469
                    #'name:' 'label relative'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   470
                    #'layout:' #(#LayoutFrame 65 0 6 0 110 0 24 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   471
                    #'label:' 'relative'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   472
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   473
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   474
                    #'name:' 'label offset'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   475
                    #'layout:' #(#LayoutFrame 159 0 6 0 190 0 24 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   476
                    #'label:' 'offset'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   477
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   478
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   479
                    #'name:' 'label all relative'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   480
                    #'layout:' #(#LayoutFrame 12 0 157 0 53 0 175 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   481
                    #'label:' 'all'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   482
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   483
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   484
                    #'name:' 'label all absolute'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   485
                    #'layout:' #(#LayoutFrame 159 0 157 0 210 0 175 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   486
                    #'label:' 'all'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   487
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   488
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   489
                    #'name:' 'relative E1'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   490
                    #'layout:' #(#LayoutFrame 65 0 39 0 113 0 57 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   491
                    #'model:' #leftFraction
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   492
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   493
                    #'immediateAccept:' false
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   494
                    #'acceptOnLeave:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   495
                    #'acceptOnReturn:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   496
                    #'acceptOnTab:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   497
                    #'acceptOnLostFocus:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   498
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   499
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   500
                    #'name:' 'relative E2'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   501
                    #'layout:' #(#LayoutFrame 65 0 67 0 113 0 85 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   502
                    #'model:' #topFraction
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   503
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   504
                    #'immediateAccept:' false
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   505
                    #'acceptOnLeave:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   506
                    #'acceptOnReturn:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   507
                    #'acceptOnTab:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   508
                    #'acceptOnLostFocus:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   509
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   510
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   511
                    #'name:' 'relative E3'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   512
                    #'layout:' #(#LayoutFrame 65 0 95 0 113 0 113 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   513
                    #'model:' #rightFraction
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   514
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   515
                    #'immediateAccept:' false
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   516
                    #'acceptOnLeave:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   517
                    #'acceptOnReturn:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   518
                    #'acceptOnTab:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   519
                    #'acceptOnLostFocus:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   520
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   521
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   522
                    #'name:' 'relative E4'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   523
                    #'layout:' #(#LayoutFrame 65 0 123 0 113 0 141 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   524
                    #'model:' #bottomFraction
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   525
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   526
                    #'immediateAccept:' false
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   527
                    #'acceptOnLeave:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   528
                    #'acceptOnReturn:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   529
                    #'acceptOnTab:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   530
                    #'acceptOnLostFocus:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   531
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   532
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   533
                    #'name:' 'offset E1'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   534
                    #'layout:' #(#LayoutFrame 159 0 39 0 210 0 57 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   535
                    #'model:' #leftOffset
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   536
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   537
                    #'immediateAccept:' false
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   538
                    #'acceptOnLeave:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   539
                    #'acceptOnReturn:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   540
                    #'acceptOnTab:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   541
                    #'acceptOnLostFocus:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   542
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   543
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   544
                    #'name:' 'offset E2'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   545
                    #'layout:' #(#LayoutFrame 159 0 67 0 210 0 85 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   546
                    #'model:' #topOffset
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   547
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   548
                    #'immediateAccept:' false
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   549
                    #'acceptOnLeave:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   550
                    #'acceptOnReturn:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   551
                    #'acceptOnTab:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   552
                    #'acceptOnLostFocus:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   553
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   554
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   555
                    #'name:' 'offset E3'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   556
                    #'layout:' #(#LayoutFrame 159 0 95 0 210 0 113 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   557
                    #'model:' #rightOffset
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   558
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   559
                    #'immediateAccept:' false
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   560
                    #'acceptOnLeave:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   561
                    #'acceptOnReturn:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   562
                    #'acceptOnTab:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   563
                    #'acceptOnLostFocus:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   564
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   565
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   566
                    #'name:' 'offset E4'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   567
                    #'layout:' #(#LayoutFrame 159 0 123 0 210 0 141 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   568
                    #'model:' #bottomOffset
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   569
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   570
                    #'immediateAccept:' false
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   571
                    #'acceptOnLeave:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   572
                    #'acceptOnReturn:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   573
                    #'acceptOnTab:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   574
                    #'acceptOnLostFocus:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   575
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   576
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   577
                    #'name:' 'relative B1'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   578
                    #'layout:' #(#LayoutFrame 117 0 39 0 136 0 57 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   579
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   580
                    #'model:' #makeRelativeLeft
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   581
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   582
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   583
                    #'name:' 'relative B2'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   584
                    #'layout:' #(#LayoutFrame 117 0 67 0 136 0 85 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   585
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   586
                    #'model:' #makeRelativeTop
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   587
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   588
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   589
                    #'name:' 'relative B3'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   590
                    #'layout:' #(#LayoutFrame 117 0 95 0 136 0 113 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   591
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   592
                    #'model:' #makeRelativeRight
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   593
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   594
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   595
                    #'name:' 'relative B4'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   596
                    #'layout:' #(#LayoutFrame 117 0 123 0 136 0 141 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   597
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   598
                    #'model:' #makeRelativeBottom
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   599
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   600
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   601
                    #'name:' 'relative BAll'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   602
                    #'layout:' #(#LayoutFrame 117 0 157 0 136 0 175 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   603
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   604
                    #'model:' #makeRelativeAll
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   605
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   606
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   607
                    #'name:' 'offset B1'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   608
                    #'layout:' #(#LayoutFrame 214 0 39 0 233 0 57 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   609
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   610
                    #'model:' #makeOffsetLeft
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   611
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   612
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   613
                    #'name:' 'offset B2'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   614
                    #'layout:' #(#LayoutFrame 214 0 67 0 233 0 85 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   615
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   616
                    #'model:' #makeOffsetTop
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   617
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   618
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   619
                    #'name:' 'offset B3'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   620
                    #'layout:' #(#LayoutFrame 214 0 95 0 233 0 113 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   621
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   622
                    #'model:' #makeOffsetRight
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   623
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   624
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   625
                    #'name:' 'offset B4'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   626
                    #'layout:' #(#LayoutFrame 214 0 123 0 233 0 141 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   627
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   628
                    #'model:' #makeOffsetBottom
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   629
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   630
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   631
                    #'name:' 'offset BAll'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   632
                    #'layout:' #(#LayoutFrame 214 0 157 0 233 0 175 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   633
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   634
                    #'model:' #makeOffsetAll
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   635
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   636
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   637
                    #'name:' 'button'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   638
                    #'layout:' #(#LayoutFrame 16 0 210 0 76 0 240 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   639
                    #'label:' 'frame'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   640
                    #'model:' #setLayoutFrame
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   641
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   642
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   643
                    #'name:' 'button10'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   644
                    #'layout:' #(#LayoutFrame 96 0 210 0 156 0 240 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   645
                    #'label:' 'origin'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   646
                    #'model:' #setLayoutOrigin
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   647
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   648
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   649
                    #'name:' 'button11'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   650
                    #'layout:' #(#LayoutFrame 176 0 210 0 236 0 240 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   651
                    #'label:' 'align'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   652
                    #'model:' #setAlignmentOrigin
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   653
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   654
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   655
                    #'name:' 'button12'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   656
                    #'layout:' #(#LayoutFrame 96 0 260 0 156 0 290 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   657
                    #'label:' 'apply'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   658
                    #'model:' #setDimensionForLayoutFrame
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   659
                )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   660
              )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   661
          )
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   662
      )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   663
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   664
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   665
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   666
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   667
geometrySpecForLayoutOrigin
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   668
    "
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   669
    UIPainter new openOnClass:self andSelector:#geometrySpecForLayoutOrigin
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   670
    "
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   671
    <resource: #canvas>
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   672
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   673
    ^
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   674
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   675
       #(#FullSpec
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   676
          #'window:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   677
           #(#WindowSpec
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   678
              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   679
              #'label:' 'unnamed'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   680
              #'bounds:' #(#Rectangle 0 0 248 304)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   681
          )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   682
          #'component:' 
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   683
           #(#SpecCollection
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   684
              #'collection:' 
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   685
               #(
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   686
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   687
                    #'name:' 'label1'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   688
                    #'layout:' #(#LayoutFrame 16 0 42 0 44 0 60 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   689
                    #'label:' 'left'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   690
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   691
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   692
                    #'name:' 'label2'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   693
                    #'layout:' #(#LayoutFrame 16 0 69 0 44 0 87 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   694
                    #'label:' 'top'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   695
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   696
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   697
                    #'name:' 'label3'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   698
                    #'layout:' #(#LayoutFrame 57 0 10 0 103 0 27 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   699
                    #'label:' 'relative'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   700
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   701
                 #(#LabelSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   702
                    #'name:' 'label4'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   703
                    #'layout:' #(#LayoutFrame 154 0 11 0 190 0 28 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   704
                    #'label:' 'offset'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   705
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   706
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   707
                    #'name:' 'editField1'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   708
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   709
                    #'layout:' #(#LayoutFrame 57 0 42 0 114 0 60 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   710
                    #'model:' #leftFraction
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   711
                    #acceptOnLostFocus: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   712
                    #tabable: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   713
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   714
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   715
                    #'name:' 'editField2'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   716
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   717
                    #'layout:' #(#LayoutFrame 57 0 69 0 114 0 87 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   718
                    #'model:' #topFraction
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   719
                    #acceptOnLostFocus: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   720
                    #tabable: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   721
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   722
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   723
                    #'name:' 'editField3'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   724
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   725
                    #'layout:' #(#LayoutFrame 154 0 42 0 212 0 60 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   726
                    #'model:' #leftOffset
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   727
                    #acceptOnLostFocus: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   728
                    #tabable: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   729
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   730
                 #(#InputFieldSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   731
                    #'name:' 'editField4'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   732
                    #'type:' #numberOrNil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   733
                    #'layout:' #(#LayoutFrame 154 0 69 0 212 0 87 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   734
                    #'model:' #topOffset
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   735
                    #acceptOnLostFocus: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   736
                    #tabable: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   737
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   738
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   739
                    #'name:' 'button1'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   740
                    #'layout:' #(#LayoutFrame 119 0 42 0 138 0 60 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   741
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   742
                    #'model:' #makeRelativeLeft
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   743
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   744
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   745
                    #'name:' 'button2'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   746
                    #'layout:' #(#LayoutFrame 119 0 69 0 138 0 87 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   747
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   748
                    #'model:' #makeRelativeTop
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   749
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   750
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   751
                    #'name:' 'button3'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   752
                    #'layout:' #(#LayoutFrame 216 0 42 0 235 0 60 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   753
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   754
                    #'model:' #makeOffsetLeft
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   755
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   756
                 #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   757
                    #'name:' 'button4'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   758
                    #'layout:' #(#LayoutFrame 216 0 69 0 235 0 87 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   759
                    #'label:' ''
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   760
                    #'model:' #makeOffsetTop
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   761
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   762
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   763
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   764
               #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   765
                  #'name:' 'button'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   766
                  #'layout:' #(#LayoutFrame 16 0 210 0 76 0 240 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   767
                  #'label:' 'frame'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   768
                  #'model:' #setLayoutFrame
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   769
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   770
               #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   771
                  #'name:' 'button'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   772
                  #'layout:' #(#LayoutFrame 96 0 210 0 156 0 240 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   773
                  #'label:' 'origin'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   774
                  #'model:' #setLayoutOrigin
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   775
                  #'initiallyDisabled:' true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   776
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   777
               #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   778
                  #'name:' 'button'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   779
                  #'layout:' #(#LayoutFrame 176 0 210 0 236 0 240 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   780
                  #'label:' 'align'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   781
                  #'model:' #setAlignmentOrigin
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   782
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   783
               #(#ActionButtonSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   784
                  #'layout:' #(#LayoutFrame 96 0 260 0 156 0 290 0)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   785
                  #'label:' 'apply'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   786
                  #'model:' #setDimensionForLayoutFrame
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   787
                  #tabable: true
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   788
                )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   789
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   790
              )
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   791
          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   792
      )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   793
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   794
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   795
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   796
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   797
miscSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   798
    "UIBuilder new openOnClass:self andSelector:#miscSpec"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   799
    "Builder new openInterface:#miscSpec"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   800
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   801
    <resource: #canvas>
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   802
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   803
    ^
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   804
     
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   805
       #(#FullSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   806
          #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   807
           #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   808
              #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   809
               #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   810
                 #(#FramedBoxSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   811
                    #'layout:' #(#LayoutFrame 0 0 -1 0 251 0 289 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   812
                    #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   813
                     #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   814
                        #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   815
                         #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   816
                           #(#VerticalPanelViewSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   817
                              #'layout:' #(#LayoutFrame 6 0 26 0 61 0 215 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   818
                              #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   819
                               #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   820
                                  #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   821
                                   #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   822
                                     #(#LabelSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   823
                                        #'layout:' #(#LayoutFrame 0 0 47 0 57 0 71 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   824
                                        #'label:' 'name:'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   825
                                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   826
                                  )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   827
                              )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   828
                              #'horizontalLayout:' #left
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   829
                              #'verticalLayout:' #spreadSpace
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   830
                          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   831
                           #(#VerticalPanelViewSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   832
                              #'layout:' #(#LayoutFrame 60 0 24 0 230 0 213 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   833
                              #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   834
                               #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   835
                                  #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   836
                                   #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   837
                                     #(#InputFieldSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   838
                                        #model: #nameChannel
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   839
                                        #'layout:' #(#LayoutFrame 0 0 49 0 163 0 69 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   840
                                        #acceptOnLostFocus: true
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   841
                                        #tabable: true
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   842
                                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   843
                                  )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   844
                              )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   845
                              #'horizontalLayout:' #fit
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   846
                              #'verticalLayout:' #spreadSpace
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   847
                          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   848
                           #(#ActionButtonSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   849
                              #'layout:' #(#LayoutFrame 102 0 246 0 153 0 272 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   850
                              #'label:' 'apply'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   851
                              #'model:' #setMiscAspects
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   852
                              #tabable: true
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   853
                          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   854
                        )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   855
                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   856
                    #'labelPosition:' #topLeft
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   857
                    #'showFrame:' false
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   858
                )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   859
              )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   860
          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   861
          #'window:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   862
           #(#WindowSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   863
              #'label:' 'unnamed'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   864
              #'bounds:' #(#Rectangle 0 0 255 292)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   865
          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   866
      )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   867
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   868
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   869
modelSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   870
    "UIBuilder new openOnClass:self andSelector:#modelSpec"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   871
    "Builder new openInterface:#modelSpec"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   872
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   873
    <resource: #canvas>
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   874
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   875
    ^
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   876
     
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   877
       #(#FullSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   878
          #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   879
           #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   880
              #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   881
               #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   882
                 #(#FramedBoxSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   883
                    #'layout:' #(#LayoutFrame 0 0 -1 0 251 0 289 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   884
                    #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   885
                     #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   886
                        #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   887
                         #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   888
                           #(#VerticalPanelViewSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   889
                              #'layout:' #(#LayoutFrame 6 0 26 0 78 0 216 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   890
                              #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   891
                               #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   892
                                  #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   893
                                   #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   894
                                     #(#LabelSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   895
                                        #'name:' 'label'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   896
                                        #'layout:' #(#LayoutFrame 0 0 47 0 57 0 71 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   897
                                        #'label:' 'aspect:'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   898
                                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   899
                                     #(#LabelSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   900
                                        #'name:' 'label'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   901
                                        #'layout:' #(#LayoutFrame 0 0 119 0 62 0 143 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   902
                                        #'label:' 'change:'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   903
                                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   904
                                  )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   905
                              )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   906
                              #'horizontalLayout:' #left
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   907
                              #'verticalLayout:' #spreadSpace
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   908
                          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   909
                           #(#VerticalPanelViewSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   910
                              #'layout:' #(#LayoutFrame 80 0 24 0 231 0 214 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   911
                              #'component:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   912
                               #(#SpecCollection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   913
                                  #'collection:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   914
                                   #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   915
                                     #(#InputFieldSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   916
                                        #'name:' 'aspectInput'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   917
                                        #'layout:' #(#LayoutFrame 0 0 49 0 163 0 69 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   918
                                        #model: #aspectChannel
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   919
                                        #acceptOnLostFocus: true
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   920
                                        #tabable: true
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   921
                                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   922
                                     #(#InputFieldSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   923
                                        #'name:' 'changeInput'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   924
                                        #'layout:' #(#LayoutFrame 0 0 119 0 163 0 142 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   925
                                        #model: #changeChannel
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   926
                                        #acceptOnLostFocus: true
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   927
                                        #tabable: true
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   928
                                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   929
                                  )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   930
                              )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   931
                              #'horizontalLayout:' #fit
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   932
                              #'verticalLayout:' #spreadSpace
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   933
                          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   934
                           #(#ActionButtonSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   935
                              #'name:' 'button'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   936
                              #'layout:' #(#LayoutFrame 102 0 246 0 153 0 272 0)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   937
                              #'label:' 'apply'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   938
                              #'model:' #setModelAspects
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   939
                          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   940
                        )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   941
                    )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   942
                    #'labelPosition:' #topLeft
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   943
                    #'showFrame:' false
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   944
                )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   945
              )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   946
          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   947
          #'window:' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   948
           #(#WindowSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   949
              #'label:' 'unnamed'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   950
              #'bounds:' #(#Rectangle 0 0 255 292)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   951
          )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
   952
      )
50
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   953
!
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   954
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   955
nameAndSelectorSpec
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   956
    "this window spec was automatically generated by the ST/X UIPainter"
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   957
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   958
    "do not manually edit this - the painter/builder may not be able to
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   959
     handle the specification if its corrupted."
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   960
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
   961
    "UIPainter new openOnClass:self andSelector:#nameAndSelectorSpec"
50
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   962
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   963
    <resource: #canvas>
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   964
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   965
    ^
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   966
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   967
       #(#FullSpec
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   968
          #'window:' 
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   969
           #(#WindowSpec
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   970
              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   971
              #'label:' 'unnamed'
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   972
              #'bounds:' #(#Rectangle 0 0 300 300)
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   973
          )
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   974
          #'component:' 
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   975
           #(#SpecCollection
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   976
              #'collection:' 
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   977
               #(
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   978
                 #(#LabelSpec
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   979
                    #'name:' 'label1'
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   980
                    #'layout:' #(#LayoutFrame 10 0 50 0 110 0 70 0)
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   981
                    #'label:' 'class:'
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   982
                    #'adjust:' #right
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   983
                )
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   984
                 #(#LabelSpec
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   985
                    #'name:' 'label2'
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   986
                    #'layout:' #(#LayoutFrame 10 0 90 0 110 0 110 0)
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   987
                    #'label:' 'superclass:'
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   988
                    #'adjust:' #right
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   989
                )
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   990
                 #(#LabelSpec
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   991
                    #'name:' 'label3'
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   992
                    #'layout:' #(#LayoutFrame 10 0 130 0 110 0 150 0)
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   993
                    #'label:' 'selector:'
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   994
                    #'adjust:' #right
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   995
                )
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   996
                 #(#InputFieldSpec
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   997
                    #'name:' 'classNameField'
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   998
                    #'layout:' #(#LayoutFrame 120 0 50 0 289 0 69 0)
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
   999
                    #'model:' #classNameChannel
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1000
                    #'immediateAccept:' false
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1001
                    #'acceptOnLeave:' true
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1002
                    #'acceptOnReturn:' true
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1003
                    #'acceptOnTab:' true
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1004
                )
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1005
                 #(#InputFieldSpec
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1006
                    #'name:' 'superclassNameField'
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1007
                    #'layout:' #(#LayoutFrame 120 0 90 0 289 0 109 0)
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1008
                    #'model:' #superclassNameChannel
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1009
                    #'immediateAccept:' false
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1010
                    #'acceptOnLeave:' true
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1011
                    #'acceptOnReturn:' true
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1012
                    #'acceptOnTab:' true
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1013
                )
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1014
                 #(#InputFieldSpec
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1015
                    #'name:' 'methodNameField'
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1016
                    #'layout:' #(#LayoutFrame 120 0 130 0 289 0 149 0)
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1017
                    #'model:' #methodNameChannel
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1018
                    #'immediateAccept:' false
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1019
                    #'acceptOnLeave:' true
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1020
                    #'acceptOnReturn:' true
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1021
                    #'acceptOnTab:' true
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1022
                )
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1023
                 #(#ActionButtonSpec
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1024
                    #'name:' 'button1'
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1025
                    #'layout:' #(#LayoutFrame 30 0 250 0 129 0 279 0)
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1026
                    #'label:' 'cancel'
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1027
                    #'model:' #cancel
50
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1028
                )
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1029
                 #(#ActionButtonSpec
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1030
                    #'name:' 'button2'
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1031
                    #'layout:' #(#LayoutFrame 160 0 250 0 259 0 279 0)
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1032
                    #'label:' 'ok'
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1033
                    #'model:' #accept
50
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1034
                )
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1035
              )
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1036
          )
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1037
      )
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1038
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1039
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1040
54
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1041
!
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1042
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1043
propertyFrameSpec
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1044
    "this window spec was automatically generated by the ST/X UIPainter"
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1045
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1046
    "do not manually edit this - the painter/builder may not be able to
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1047
     handle the specification if its corrupted."
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1048
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1049
    "UIPainter new openOnClass:UIPainter andSelector:#propertyFrameSpec"
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1050
    "UIPainter new openInterface:#propertyFrameSpec"
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1051
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1052
    <resource: #canvas>
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1053
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1054
    ^
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1055
     
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1056
       #(#FullSpec
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1057
          #'window:' 
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1058
           #(#WindowSpec
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1059
              #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1060
              #'label:' 'unnamed'
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1061
              #'bounds:' #(#Rectangle 0 0 309 326)
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1062
          )
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1063
          #'component:' 
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1064
           #(#SpecCollection
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1065
              #'collection:' 
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1066
               #(
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1067
                 #(#ArbitraryComponentSpec
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1068
                    #'name:' 'view1'
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1069
                    #'layout:' #(#LayoutFrame 0 0 0 0 0 1.0 -40 1.0)
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1070
                )
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1071
                 #(#ActionButtonSpec
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1072
                    #'name:' 'button1'
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1073
                    #'layout:' #(#LayoutFrame 108 0 291 0 200 0 323 0)
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1074
                    #'label:' 'apply'
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1075
                )
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1076
              )
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1077
          )
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1078
      )
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1079
! !
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1080
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1081
!UIPainter methodsFor:'BuilderView interface'!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1082
54
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1083
update:something
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1084
    |singleSelection|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1085
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1086
    elementMenu deselect.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1087
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1088
    singleSelection := workView singleSelection.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1089
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1090
    something == #selection ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1091
        claus setupView:singleSelection.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1092
    ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1093
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1094
    (something == #layout or:[something == #any]) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1095
        singleSelection notNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1096
            self fetchLayoutFrom:singleSelection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1097
        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1098
        ^ self
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1099
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1100
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1101
    (something == #aspects or:[something == #any]) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1102
        singleSelection notNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1103
            self fetchModelAspectsFrom:singleSelection
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1104
        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1105
        ^ self
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1106
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1107
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1108
    (something == #selection or:[something == #any]) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1109
        self showPropertyView.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1110
        self showOutletsFor:(workView selection).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1111
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1112
        singleSelection isNil ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1113
            nameChannel isNil ifTrue:[self nameChannel].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1114
            nameChannel value:singleSelection name.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1115
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1116
            self fetchLayoutFrom:singleSelection.
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1117
            self fetchColorsFrom:singleSelection.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1118
            self fetchModelAspectsFrom:singleSelection.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1119
        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1120
        ^ self
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1121
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1122
! !
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1123
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1124
!UIPainter methodsFor:'aspects'!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1125
50
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1126
aspectFor:aKey
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1127
    ^ specSpecificAspectHolders at:aKey ifAbsent:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1128
        aspectHolders at:aKey ifAbsent:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1129
            super aspectFor:aKey
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1130
        ]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1131
    ]
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1132
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1133
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1134
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1135
nameChannel
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1136
    nameChannel isNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1137
	nameChannel := '' asValue.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1138
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1139
    ^ nameChannel
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1140
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1141
    "Modified: 6.9.1995 / 00:38:00 / claus"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1142
! !
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1143
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1144
!UIPainter methodsFor:'filein & fileout'!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1145
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1146
openFile:aFileName
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1147
    |aStream |
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1148
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1149
    aStream := FileStream readonlyFileNamed:aFileName.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1150
    aStream notNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1151
	workView fileInContentsFrom:aStream.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1152
	aStream close.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1153
	currentFileName := aFileName
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1154
    ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1155
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1156
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1157
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1158
saveAs:aFileName
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1159
    |aStream|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1160
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1161
    aStream := FileStream newFileNamed:aFileName.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1162
    aStream notNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1163
	workView storeContentsOn:aStream.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1164
	aStream close
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1165
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1166
    currentFileName := aFileName
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1167
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1168
! !
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1169
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1170
!UIPainter methodsFor:'help'!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1171
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1172
helpTextFor:aComponent
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1173
    |sel|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1174
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1175
    (aComponent isKindOf:Button) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1176
	(sel := aComponent changeMessage) notNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1177
	    "/ take the buttons change symbol as resource-key
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1178
	    ^ resources string:(sel asString)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1179
	]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1180
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1181
    ^ nil
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1182
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1183
    "Modified: 31.8.1995 / 20:49:58 / claus"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1184
! !
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1185
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1186
!UIPainter methodsFor:'initialization'!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1187
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1188
createCanvas 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1189
    |topView|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1190
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1191
    super initialize.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1192
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1193
    topView := StandardSystemView new.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1194
    topView label:'unnamed'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1195
    topView extent:300@300.
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1196
    topView application:self.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1197
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1198
    workView := UIPainterView in:topView.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1199
    workView layout:(0.0 @ 0.0 corner:1.0 @ 1.0) asLayout.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1200
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1201
    ^ workView.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1202
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1203
    "Builder new createCanvas open"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1204
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1205
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1206
createPaletteIn:aViewOrNil
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1207
    |topView v|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1208
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1209
    aViewOrNil isNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1210
        topView := StandardSystemView new.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1211
        topView label:'element palette'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1212
        topView extent:200@400.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1213
    ] ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1214
        topView := aViewOrNil
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1215
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1216
    v := HVScrollableView for:SelectionInListView miniScrollerH:true in:topView.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1217
    v origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1218
    elementMenu := v scrolledView.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1219
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1220
    ^ elementMenu.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1221
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1222
    "(Builder new createPaletteIn:nil) topView open"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1223
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1224
    "Modified: 5.9.1995 / 23:52:57 / claus"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1225
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1226
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1227
initChannels
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1228
    |cls|
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1229
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1230
    specSpecificAspectHolders := IdentityDictionary new.
50
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1231
    aspectHolders := IdentityDictionary new.
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1232
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1233
    aspectHolders at:#classNameChannel put:(
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1234
        (specClass notNil ifTrue:[specClass]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1235
                         ifFalse:['NewApplication']) asValue
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1236
    ).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1237
    specSuperclass isNil ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1238
        specClass notNil ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1239
            (cls := Smalltalk at:specClass asSymbol) notNil ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1240
                specSuperclass := cls superclass name.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1241
            ]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1242
        ]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1243
    ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1244
    aspectHolders at:#superclassNameChannel put:(
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1245
        (specSuperclass notNil ifTrue:[specSuperclass]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1246
                         ifFalse:['ApplicationModel']) asValue
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1247
    ).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1248
    aspectHolders at:#methodNameChannel put:(
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1249
        (specSelector notNil ifTrue:[specSelector]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1250
                            ifFalse:[#windowSpec]) asValue
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1251
    ).
50
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1252
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1253
    aspectHolders at:#aspectChannel put:(ValueHolder new).
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1254
    aspectHolders at:#changeChannel put:(ValueHolder new).
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1255
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1256
    aspectHolders at:#foregroundColor put:(ValueHolder new).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1257
    aspectHolders at:#backgroundColor put:(ValueHolder new).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1258
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1259
    #( bottomFraction leftFraction topFraction rightFraction leftAlignmentFraction
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1260
       bottomOffset   leftOffset   topOffset   rightOffset   topAlignmentFraction
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1261
     )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1262
     do:[:aChannel| aspectHolders at:aChannel put:(ValueHolder new) ].
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1263
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1264
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1265
initPullDownMenu
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1266
    menu labels:(resources  array:#(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1267
                                    'file'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1268
                                    'font'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1269
                                    'type'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1270
                                    'align'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1271
                                    'dimension'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1272
                                    'special'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1273
                                    'code'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1274
                                    'test'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1275
                                 )).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1276
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1277
    menu selectors:#(#file
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1278
                     #font
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1279
                     #type
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1280
                     #align 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1281
                     #dimension 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1282
                     #special
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1283
                     #code
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1284
                     #test
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1285
                    ).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1286
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1287
    menu at:#file 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1288
            putLabels:(resources  array:
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1289
                      #('new'
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1290
                        'from class ...' 
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1291
                        'pick a view ' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1292
                        '-'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1293
                        'save' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1294
                        'save as ...' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1295
                        '-'
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1296
                        'install' 
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1297
                        '-'
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1298
"/                        'source' 
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1299
                        'windowSpec' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1300
                        'inspect me' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1301
                        '-'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1302
                        'print'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1303
                        '-'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1304
                        'quit'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1305
                       ))
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1306
            selectors:#(doNew 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1307
                        doFromClass
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1308
                        doPickAView
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1309
                        nil
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1310
                        doSave 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1311
                        doSaveAs 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1312
                        nil 
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1313
                        doInstall 
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1314
                        nil 
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1315
"/                        doSource 
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1316
                        doWindowSpec 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1317
                        inspect
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1318
                        nil 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1319
                        doPrint
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1320
                        nil 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1321
                        doFinish
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1322
                       )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1323
             receiver:self.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1324
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1325
    menu at:#font putMenu:(workView subMenuFont menuView).
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1326
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1327
    menu at:#type 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1328
            putLabels:(resources  array:#(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1329
                        'basic widgets' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1330
                        'layout'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1331
                        'text'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1332
                        'interactors'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1333
                        'modal'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1334
                        'other'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1335
                        '-'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1336
                        'all'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1337
                       ) )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1338
            selectors:#(showBasicWidgets 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1339
                        showLayoutWidgets
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1340
                        showTextWidgets
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1341
                        showInteractorWidgets
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1342
                        showModalWidgets
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1343
                        showOtherWidgets
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1344
                        nil
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1345
                        showAllWidgets
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1346
                       )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1347
             receiver:self.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1348
54
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1349
    menu at:#align     putMenu:(workView subMenuAlign menuView).
d0b5a33e6df0 *** empty log message ***
ca
parents: 50
diff changeset
  1350
    menu at:#dimension putMenu:(workView subMenuDimension menuView).
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1351
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1352
    menu at:#special 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1353
            putLabels:(resources  array:#(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1354
                        'group radioButtons' 
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1355
                        'group enterFields'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1356
                        '-'
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1357
                        'delete undo history'
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1358
                       ) )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1359
            selectors:#(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1360
                        groupRadioButtons 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1361
                        groupEnterFields
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1362
                        nil
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1363
                        undoDeleteAll
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1364
                       )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1365
             receiver:workView.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1366
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1367
    menu at:#code 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1368
            putLabels:(resources  array:#(
50
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1369
                        'class & method' 
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1370
                       ) )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1371
            selectors:#(
50
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1372
                        defineClassAndSelector
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1373
                       )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1374
             receiver:self.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1375
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1376
    menu at:#test 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1377
            putLabels:(resources array:#(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1378
                        'test on' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1379
                       ) )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1380
            selectors:#(toggleTest 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1381
                       )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1382
             receiver:self.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1383
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1384
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1385
openInterface 
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1386
    |list v topInset menuInset leftPanel middlePanel rightPanel buttonPanel propSelector|
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1387
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1388
    super initialize.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1389
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1390
    self initChannels.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1391
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1392
    whichProperty := SelectionInList new.
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1393
"/    whichProperty list:#('dimension' 'colors' 'model' 'misc' 'attribute list').
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1394
    whichProperty list:(UISpecification slices collect:[:slice | slice first asString]).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1395
    whichProperty onChangeSend:#showPropertyView to:self.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1396
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1397
    workView :=self createCanvas.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1398
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1399
    topView := StandardSystemView new.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1400
    topView label:'Interface Builder'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1401
    topView icon:(Image fromFile:'bitmaps/Builder.xbm' resolution:100).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1402
    topView extent:(600 @ 400).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1403
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1404
    menu        := PullDownMenu in:topView.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1405
    buttonPanel := ButtonPanel in:topView.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1406
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1407
    menuInset := menu preferredExtent y.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1408
    topInset  := menuInset + buttonPanel preferredExtent y.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1409
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1410
    buttonPanel origin:0.0@menuInset corner:1.0@topInset.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1411
    buttonPanel receiver:workView.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1412
    leftPanel   := View origin:(0.0 @ 0.0) corner:0.3@1.0 in:topView.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1413
    leftPanel   topInset:topInset.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1414
    middlePanel := View origin:(0.3 @ 0.0) corner:0.6@1.0 in:topView.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1415
    middlePanel topInset:topInset.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1416
    rightPanel  := View origin:(0.6 @ 0.0) corner:1.0@1.0 in:topView.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1417
    rightPanel  topInset:topInset.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1418
46
8301d6b9e67c *** empty log message ***
ca
parents: 42
diff changeset
  1419
    v := HVScrollableView for:UIPainterTreeView miniScrollerH:true in:middlePanel.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1420
    v origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1421
    treeView := v scrolledView.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1422
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1423
    propSelector := PopUpList label:'properties' in:rightPanel.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1424
    propSelector origin:(0.0 @ 0.0) corner:1.0@(propSelector preferredExtent y).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1425
    propSelector horizontalInset:View viewSpacing.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1426
    propSelector model:whichProperty.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1427
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1428
    propertyFrame := View in:rightPanel.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1429
    propertyFrame origin:(0.0 @ 0.0) corner:1.0@1.0.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1430
    propertyFrame topInset:propSelector height + View viewSpacing.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1431
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1432
    claus := View origin:(0.0 @ 0.0) corner:1.0@1.0 in:rightPanel.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1433
    claus := UIPropertyView in:claus receiver:workView.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1434
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1435
    elementMenu := self createPaletteIn:leftPanel.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1436
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1437
    treeView builderView:workView.  "link workview with treeview"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1438
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1439
    workView addDependent:treeView.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1440
    workView addDependent:self.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1441
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1442
    self initPullDownMenu.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1443
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1444
    elementMenu action:[:selection |
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1445
        workView testMode ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1446
            elementMenu deselect
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1447
        ] ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1448
            selection notNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1449
                workView createWidgetWithClass:
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1450
                        (Smalltalk at:(elementMenu selectionValue asSymbol))
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1451
            ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1452
        ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1453
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1454
    topView application:self.   
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1455
    builder window:topView.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1456
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1457
    topView beMaster.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1458
    workView topView beSlave.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1459
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1460
    "/ can be created as embedded or side-menu
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1461
    elementMenu topView ~~ topView ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1462
        elementMenu topView beSlave.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1463
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1464
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1465
    topView open.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1466
    workView topView openInGroup:(topView windowGroup).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1467
    elementMenu topView ~~ topView ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1468
        elementMenu topView openInGroup:(topView windowGroup).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1469
    ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1470
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1471
    "
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1472
     Builder open
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1473
    "
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1474
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1475
    "Modified: 6.9.1995 / 00:26:59 / claus"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1476
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1477
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1478
openNewWindowCanvas
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1479
    self open.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1480
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1481
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1482
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1483
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1484
openOnClass:aClass andSelector:aSelector
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1485
    "open up an interface builder, fetching a spec from someClass
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1486
     via some selector"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1487
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1488
    |specArray|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1489
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1490
    specClass := aClass name.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1491
    specSuperclass := aClass superclass name.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1492
    specSelector :=  aSelector.
50
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1493
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1494
    self openInterface.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1495
    workView className:aClass name.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1496
    workView methodName:aSelector.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1497
    workView setupFromSpec:(aClass perform:aSelector).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1498
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1499
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1500
openOnSpec:aSpecOrSpecArray
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1501
    "open up an interface builder, given some specArray"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1502
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1503
    |newBuilder|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1504
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1505
    newBuilder := self new.
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1506
! !
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1507
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1508
!UIPainter methodsFor:'make layout'!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1509
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1510
makeLayout:what xOrY:xOrY offset:aBool
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1511
    |view layout extent fraction offset fractSymb offsetSymb|
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1512
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1513
    view := workView singleSelection.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1514
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1515
    view isNil ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1516
        ^ self
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1517
    ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1518
    layout := view geometryLayout.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1519
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1520
    layout isLayout ifFalse:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1521
        ^ self
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1522
    ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1523
    fractSymb  := (what, 'Fraction') asSymbol.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1524
    offsetSymb := (what,   'Offset') asSymbol.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1525
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1526
    (    (layout respondsTo:fractSymb)
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1527
     and:[layout respondsTo:offsetSymb]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1528
    ) ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1529
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1530
        fraction := layout perform:fractSymb.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1531
        offset   := layout perform:offsetSymb.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1532
        extent   := (view superView computeExtent) perform:xOrY.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1533
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1534
        aBool ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1535
            offset := offset + ((fraction * extent) asInteger).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1536
            (aspectHolders at:offsetSymb) value:offset.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1537
            (aspectHolders at:fractSymb)  value:0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1538
        ] ifFalse:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1539
            fraction   := (fraction + (offset / extent)) asFloat.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1540
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1541
            (fraction > 1.0) ifTrue:[ fraction := 1.0 ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1542
            (fraction < 0.0) ifTrue:[ fraction := 0.0 ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1543
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1544
            (aspectHolders at:offsetSymb) value:0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1545
            (aspectHolders at:fractSymb)  value:fraction.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1546
        ]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1547
    ]
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1548
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1549
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1550
makeOffsetAll
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1551
    self makeOffsetLeft.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1552
    self makeOffsetTop.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1553
    self makeOffsetRight.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1554
    self makeOffsetBottom.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1555
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1556
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1557
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1558
makeOffsetBottom
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1559
    self makeLayout:'bottom' xOrY:#y offset:true.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1560
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1561
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1562
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1563
makeOffsetLeft
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1564
    self makeLayout:'left' xOrY:#x offset:true.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1565
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1566
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1567
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1568
makeOffsetRight
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1569
    self makeLayout:'right' xOrY:#x offset:true.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1570
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1571
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1572
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1573
makeOffsetTop
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1574
    self makeLayout:'top' xOrY:#y offset:true.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1575
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1576
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1577
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1578
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1579
makeRelativeAll
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1580
    self makeRelativeLeft.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1581
    self makeRelativeTop.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1582
    self makeRelativeRight.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1583
    self makeRelativeBottom.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1584
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1585
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1586
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1587
makeRelativeBottom
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1588
    self makeLayout:'bottom' xOrY:#y offset:false.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1589
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1590
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1591
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1592
makeRelativeLeft
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1593
    self makeLayout:'left' xOrY:#x offset:false.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1594
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1595
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1596
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1597
makeRelativeRight
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1598
    self makeLayout:'right' xOrY:#x offset:false.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1599
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1600
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1601
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1602
makeRelativeTop
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1603
    self makeLayout:'top' xOrY:#y offset:false.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1604
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1605
! !
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1606
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1607
!UIPainter methodsFor:'misc'!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1608
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1609
listOfOutletsFor:aViewClass
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1610
    "return a list of outlets for a view-class"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1611
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1612
    |l1 l2 all rej|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1613
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1614
    (aViewClass == Object) ifTrue:[^ nil].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1615
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1616
    l1 := self listOfOutletsFor:(aViewClass superclass).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1617
    l2 := self listOfOutletsForClass:aViewClass.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1618
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1619
    l2 isNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1620
	all := l1
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1621
    ] ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1622
	l1 isNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1623
	    all := l2
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1624
	] ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1625
	    all := l1 , l2
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1626
	]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1627
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1628
    rej := self rejectOutletsForClass:aViewClass.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1629
    rej notNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1630
	rej do:[:x |
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1631
	    all := all copyWithout:x
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1632
	]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1633
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1634
    ^ all
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1635
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1636
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1637
listOfOutletsForClass:aViewClass
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1638
    "return a list of outlets for a view-class"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1639
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1640
    "could this be done automatically ?"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1641
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1642
    (aViewClass == Label) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1643
	^ #('label'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1644
	    'iconic-label'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1645
	    'label layout'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1646
	    'fixed size'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1647
	    'foreground-color'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1648
	    'background-color'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1649
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1650
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1651
    (aViewClass == Button) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1652
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1653
	    'active foreground-color'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1654
	    'active background-color'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1655
	    'active level'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1656
	    'passive level'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1657
	    'press action'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1658
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1659
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1660
    (aViewClass == Toggle) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1661
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1662
	    'release action'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1663
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1664
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1665
    (aViewClass == CheckBox) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1666
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1667
	    'label'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1668
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1669
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1670
    (aViewClass == FramedBox) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1671
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1672
	    'label'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1673
	    'label position'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1674
	    'frame shown'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1675
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1676
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1677
    (aViewClass == VerticalPanelView) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1678
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1679
	    'horizontal layout'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1680
	    'vertical layout'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1681
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1682
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1683
    (aViewClass == HorizontalPanelView) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1684
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1685
	    'horizontal layout'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1686
	    'vertical layout'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1687
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1688
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1689
    (aViewClass == VariableVerticalPanel) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1690
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1691
	    'handle position'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1692
	    'style'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1693
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1694
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1695
    (aViewClass == ListView) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1696
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1697
	    'contents'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1698
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1699
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1700
    (aViewClass == SelectionInListView) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1701
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1702
	    'press action'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1703
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1704
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1705
    (aViewClass == EditField) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1706
	^#(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1707
	   'initialText'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1708
	   'field type'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1709
	   'field length'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1710
	  )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1711
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1712
    (aViewClass == View) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1713
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1714
	    'level'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1715
	    'view background-color'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1716
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1717
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1718
    (aViewClass == Scroller) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1719
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1720
	    'scroll action'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1721
	    'asynchronous'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1722
	    'synchronous'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1723
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1724
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1725
    (aViewClass == ScrollBar) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1726
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1727
	    'scroll action'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1728
	    'scrollDown action'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1729
	    'scrollUp action'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1730
	    'asynchronous'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1731
	    'synchronous'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1732
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1733
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1734
    (aViewClass == HorizontalScrollBar) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1735
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1736
	    'scrollLeft action'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1737
	    'scrollRight action'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1738
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1739
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1740
    (aViewClass == PullDownMenu) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1741
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1742
	    'labels'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1743
	    'actions'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1744
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1745
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1746
    (aViewClass == Separator) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1747
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1748
	    'orientation'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1749
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1750
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1751
    ^ nil
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1752
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1753
    "Modified: 6.9.1995 / 13:42:09 / claus"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1754
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1755
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1756
rejectOutletsForClass:aViewClass
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1757
    "return a list of suppressed outlets for a view-class"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1758
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1759
    "could this be done automatically ?"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1760
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1761
    (aViewClass == CheckToggle) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1762
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1763
	    'iconic-label'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1764
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1765
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1766
    (aViewClass == CheckBox) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1767
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1768
	    'horizontal layout'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1769
	    'vertical layout'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1770
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1771
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1772
    (aViewClass == HorizontalScrollBar) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1773
	^ #(
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1774
	    'scrollUp action'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1775
	    'scrollDown action'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1776
	   )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1777
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1778
    ^ nil
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1779
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1780
    "Modified: 4.9.1995 / 18:55:03 / claus"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1781
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1782
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1783
setupPropertyFromSpec:aSpec
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1784
    "apply is pressed in the geometry-sub view, with a alignmentOrigin selected
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1785
    "
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1786
    |aViewsSpec|
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1787
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1788
    workView singleSelectionDo:[:selectedView |
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1789
        aViewsSpec := workView generateSpecFor:selectedView.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1790
        aViewsSpec := aViewsSpec first.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1791
    ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1792
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1793
    self setupPropertyFromSpec:aSpec for:aViewsSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1794
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1795
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1796
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1797
setupPropertyFromSpec:aSpec for:aViewsSpec
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1798
    "setup menu from spec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1799
    "
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1800
    |specBindings|
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1801
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1802
    outletView := nil.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1803
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1804
    specShown ~= aSpec ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1805
        propertyFrame destroySubViews.
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1806
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1807
        "/ get aspects from specClass
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1808
        specSpecificAspectHolders := IdentityDictionary new.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1809
        aViewsSpec class addBindingsTo:specSpecificAspectHolders for:aViewsSpec channel:nil.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1810
        
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1811
        builder buildFromSpec:aSpec in:propertyFrame.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1812
        propertyFrame realizeAllSubViews.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1813
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1814
    specShown := aSpec
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1815
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1816
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1817
showOutletsFor:aView
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1818
    |c outlets|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1819
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1820
    outletView isNil ifTrue:[^ self].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1821
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1822
    (aView isKindOf:SimpleView) ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1823
	outletView list:nil.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1824
	^ self
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1825
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1826
    c := aView class.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1827
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1828
    outlets := self listOfOutletsFor:c.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1829
    outletView list:outlets
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1830
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1831
    "Modified: 5.9.1995 / 21:51:57 / claus"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1832
! !
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1833
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1834
!UIPainter methodsFor:'private - fetch'!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1835
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1836
fetchColorsFrom:aView
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1837
    |holder|
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1838
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1839
    holder := self aspectFor:#foregroundColor.
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1840
    (aView respondsTo:#foregroundColor) ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1841
        holder value:(aView foregroundColor storeString).
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1842
    ] ifFalse:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1843
        holder value:nil
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1844
    ].
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1845
    holder := self aspectFor:#backgroundColor.
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1846
    (aView respondsTo:#backgroundColor) ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1847
        holder value:(aView backgroundColor storeString).
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1848
    ] ifFalse:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1849
        holder value:nil
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1850
    ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1851
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1852
!
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  1853
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1854
fetchLayoutFrom:aView
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1855
    |layout extent|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1856
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1857
    layout := aView geometryLayout.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1858
    layout isNil ifTrue:[^ self].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1859
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1860
    layout isLayout ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1861
        layout isRectangle ifTrue:[
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1862
            (aspectHolders at:#leftOffset)   value:(layout left).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1863
            (aspectHolders at:#rightOffset)  value:(layout right).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1864
            (aspectHolders at:#topOffset)    value:(layout top).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1865
            (aspectHolders at:#bottomOffset) value:(layout bottom).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1866
          ^ self
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1867
        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1868
        layout isPoint ifTrue:[
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1869
            (aspectHolders at:#leftOffset)  value:(layout left).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1870
            (aspectHolders at:#rightOffset) value:(layout right).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1871
          ^ self
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1872
        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1873
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1874
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1875
    (aspectHolders at:#leftOffset)   value:(layout leftOffset).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1876
    (aspectHolders at:#leftFraction) value:(layout leftFraction).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1877
    (aspectHolders at:#topOffset)    value:(layout topOffset).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1878
    (aspectHolders at:#topFraction)  value:(layout topFraction).
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1879
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1880
    layout isLayoutFrame ifTrue:[
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1881
        (aspectHolders at:#rightOffset)    value:(layout rightOffset).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1882
        (aspectHolders at:#bottomOffset)   value:(layout bottomOffset).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1883
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1884
        (aspectHolders at:#rightFraction)  value:(layout rightFraction).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1885
        (aspectHolders at:#bottomFraction) value:(layout bottomFraction).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1886
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1887
        (aspectHolders at:#leftAlignmentFraction) value:0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1888
        (aspectHolders at:#topAlignmentFraction)  value:0.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1889
    ] ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1890
        extent := aView extent.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1891
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1892
        (aspectHolders at:#rightOffset)    value:(layout leftOffset + extent x).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1893
        (aspectHolders at:#bottomOffset)   value:(layout topOffset  + extent y).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1894
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1895
        (aspectHolders at:#rightFraction)  value:0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1896
        (aspectHolders at:#bottomFraction) value:0.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1897
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1898
        layout isAlignmentOrigin ifTrue:[
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1899
            (aspectHolders at:#leftAlignmentFraction) value:(layout leftAlignmentFraction).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1900
            (aspectHolders at:#topAlignmentFraction)  value:(layout topAlignmentFraction).
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1901
        ] ifFalse:[
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1902
            (aspectHolders at:#leftAlignmentFraction) value:0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  1903
            (aspectHolders at:#topAlignmentFraction)  value:0.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1904
        ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1905
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1906
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1907
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1908
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1909
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1910
fetchModelAspectsFrom:aView
50
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1911
    (self aspectFor:#aspectChannel) value:(workView aspectSelectorForView:aView).
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  1912
    (self aspectFor:#changeChannel) value:(workView changeSelectorForView:aView).
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1913
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1914
! !
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1915
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1916
!UIPainter methodsFor:'setup choices'!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1917
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1918
showAllWidgets
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1919
    "create list of basic widgets"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1920
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1921
    self showWidgetsWhere:[:class | true]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1922
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1923
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1924
showBasicWidgets
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1925
    "create list of basic widgets"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1926
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1927
    self showWidgetsInCategory:'Views-Basic' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1928
			butNot:[:class | class isKindOf:ModalBox class]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1929
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1930
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1931
showInteractorWidgets
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1932
    "create list of interactor widgets"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1933
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1934
    self showWidgetsInCategory:'Views-Interactors'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1935
			butNot:[:class | class isKindOf:ModalBox class]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1936
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1937
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1938
showLayoutWidgets
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1939
    "create list of basic widgets"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1940
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1941
    self showWidgetsInCategory:'Views-Layout'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1942
			butNot:[:class | class isKindOf:ModalBox class]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1943
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1944
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1945
showModalWidgets
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1946
    "create list of modal widgets"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1947
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1948
    self showWidgetsWhere:[:class | class isKindOf:ModalBox class]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1949
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1950
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1951
showOtherWidgets
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1952
    "create list of other widgets"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1953
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1954
    |check cat|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1955
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1956
    check := [:class |
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1957
		(#('Views-Basic' 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1958
		   'Views-Interactors'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1959
		   'Views-Layout'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1960
		   'Views-Text') includes:class category) not].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1961
    self showWidgetsWhere:check
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1962
		   butNot:[:class | class isKindOf:ModalBox class]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1963
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1964
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1965
showTextWidgets
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1966
    "create list of basic widgets"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1967
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1968
    self showWidgetsInCategory:'Views-Text'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1969
			butNot:[:class | class isKindOf:ModalBox class]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1970
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1971
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1972
showWidgetsInCategory:aCategory
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1973
    "create list of basic widgets"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1974
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1975
    self showWidgetsWhere:[:class | class category = aCategory]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1976
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1977
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1978
showWidgetsInCategory:aCategory butNot:excludeBlock
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1979
    "create list of basic widgets"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1980
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1981
    self showWidgetsWhere:[:class | class category = aCategory]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1982
		   butNot:excludeBlock
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1983
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1984
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1985
showWidgetsWhere:aBlock
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1986
    "create list of widgets where aBlock avaluates to true"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1987
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1988
    self showWidgetsWhere:aBlock butNot:[:class | false]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1989
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1990
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1991
showWidgetsWhere:aBlock butNot:excludeBlock
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1992
    "create list of widgets where aBlock evaluates to true and excludeBlock
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1993
     evaluates to false"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1994
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1995
    |list|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1996
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1997
    list := OrderedCollection new:0.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1998
    SimpleView allSubclassesDo:[:aSubclass |
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  1999
        (aBlock value:aSubclass) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2000
            (excludeBlock value:aSubclass) ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2001
                list add:(aSubclass name)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2002
            ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2003
        ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2004
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2005
    (aBlock value:View) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2006
        (excludeBlock value:View) ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2007
            list add:'View'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2008
        ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2009
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2010
    (list size == 0) ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2011
        list sort
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2012
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2013
    elementMenu list:list
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2014
! !
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2015
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2016
!UIPainter methodsFor:'user actions - dimension'!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2017
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2018
setAlignmentOrigin
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2019
    "apply is pressed in the geometry-sub view, with a alignmentOrigin selected
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2020
    "
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2021
    self setupPropertyFromSpec:(self class geometrySpecForAlignmentOrigin)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2022
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2023
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2024
setDimensionForAlignmentOrigin
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2025
    |view layout|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2026
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2027
    view := workView singleSelection.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2028
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2029
    view notNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2030
        layout := AlignmentOrigin new.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2031
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2032
        layout   leftOffset:((aspectHolders at:#leftOffset)   value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2033
        layout    topOffset:((aspectHolders at:#topOffset)    value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2034
        layout leftFraction:((aspectHolders at:#leftFraction) value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2035
        layout  topFraction:((aspectHolders at:#topFraction)  value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2036
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2037
        layout leftAlignmentFraction:((aspectHolders at:#leftAlignmentFraction) value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2038
        layout  topAlignmentFraction:((aspectHolders at:#topAlignmentFraction)  value) ? 0.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2039
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2040
        workView setDimension:layout.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2041
    ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2042
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2043
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2044
setDimensionForLayoutFrame
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2045
    |view layout|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2046
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2047
    view := workView singleSelection.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2048
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2049
    view notNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2050
        layout := LayoutFrame new.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2051
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2052
        layout leftOffset:((aspectHolders at:#leftOffset) value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2053
        layout rightOffset:((aspectHolders at:#rightOffset) value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2054
        layout topOffset:((aspectHolders at:#topOffset) value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2055
        layout bottomOffset:((aspectHolders at:#bottomOffset) value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2056
        layout leftFraction:((aspectHolders at:#leftFraction) value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2057
        layout rightFraction:((aspectHolders at:#rightFraction) value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2058
        layout topFraction:((aspectHolders at:#topFraction) value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2059
        layout bottomFraction:((aspectHolders at:#bottomFraction) value) ? 0.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2060
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2061
        workView setDimension:layout.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2062
    ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2063
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2064
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2065
setDimensionForLayoutOrigin
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2066
    |view layout|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2067
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2068
    view := workView singleSelection.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2069
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2070
    view notNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2071
        layout := LayoutOrigin new.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2072
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2073
        layout leftOffset:((aspectHolders at:#leftOffset) value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2074
        layout topOffset:((aspectHolders at:#topOffset) value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2075
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2076
        layout leftFraction:((aspectHolders at:#leftFraction) value) ? 0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2077
        layout topFraction:((aspectHolders at:#topFraction) value) ? 0.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2078
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2079
        workView setDimension:layout.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2080
    ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2081
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2082
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2083
setLayoutFrame
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2084
    "apply is pressed in the geometry-sub view, with a layoutFrame selected
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2085
    "
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2086
    self setupPropertyFromSpec:(self class geometrySpecForLayoutFrame)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2087
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2088
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2089
setLayoutOrigin
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2090
    "apply is pressed in the geometry-sub view, with a layoutOrigin selected
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2091
    "
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2092
    self setupPropertyFromSpec:(self class geometrySpecForLayoutOrigin)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2093
! !
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2094
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2095
!UIPainter methodsFor:'user interaction'!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2096
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2097
closeRequest
50
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  2098
    workView  notNil ifTrue:[workView  release. workView := nil].
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2099
    super closeRequest
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2100
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2101
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2102
closeRequestFor:aTopView
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2103
    aTopView ~~ topView ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2104
        topView device beep.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2105
        ^ self
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2106
    ].
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2107
    super closeRequestFor:aTopView
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2108
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2109
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2110
selectOutlet:nr
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2111
    |outlet type sel text box action initialText initialList
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2112
     view prop t val|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2113
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2114
    outlet := outletView selectionValue.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2115
    outletView deselect.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2116
    view := workView selection.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2117
    view isNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2118
        self notify:'select something first'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2119
        ^ self
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2120
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2121
    action := [:s | self setOutlet:sel type:type to:s in:view].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2122
    (outlet = 'label') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2123
        type := #string.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2124
        sel := #label:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2125
        text := 'label-text:'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2126
        initialText := view label
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2127
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2128
    (outlet = 'fixed size') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2129
        type := #boolean.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2130
        sel := #sizeFixed:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2131
        text := 'size is fix:'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2132
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2133
    (outlet = 'frame shown') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2134
        type := #boolean.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2135
        sel := #showFrame:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2136
        text := 'frame is to be drawn:'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2137
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2138
    (outlet = 'labels') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2139
        type := #strings.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2140
        sel := #labels:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2141
        initialText := view labels
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2142
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2143
    (outlet = 'contents') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2144
        type := #text.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2145
        sel := #contents:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2146
        initialText := view contents
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2147
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2148
    (outlet = 'initialText') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2149
        type := #string.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2150
        sel := #initialText:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2151
        initialText := view contents
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2152
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2153
    (outlet = 'field type') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2154
        type := #fieldTypeSymbol.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2155
        sel := #type:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2156
        initialList := #(number    
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2157
                         string
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2158
                         password
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2159
                        ).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2160
        initialText := view converter isNil ifTrue:[#string] ifFalse:[view converter type].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2161
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2162
    (outlet = 'field length') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2163
        type := #numberOrNil.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2164
        sel := #maxChars:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2165
        text := 'field length (empty -> unlimited)'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2166
        initialText := view maxChars isNil ifTrue:[''] ifFalse:[view maxChars printString].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2167
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2168
    (outlet = 'level') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2169
        type := #number.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2170
        sel := #level:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2171
        initialText := view level printString
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2172
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2173
    (outlet = 'active level') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2174
        type := #number.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2175
        sel := #onLevel:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2176
        initialText := view onLevel printString
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2177
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2178
    (outlet = 'passive level') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2179
        type := #number.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2180
        sel := #offLevel:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2181
        initialText := view offLevel printString
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2182
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2183
    (outlet = 'iconic-label') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2184
        type := #form.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2185
        sel := #label:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2186
        text := 'label-icon:'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2187
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2188
    (outlet = 'view background-color') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2189
        type := #color.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2190
        sel := #viewBackground:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2191
        text := 'view background color'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2192
        initialText := 'Black'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2193
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2194
    (outlet = 'foreground-color') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2195
        type := #color.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2196
        sel := #foregroundColor:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2197
        text := 'foreground color'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2198
        initialText := 'Black'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2199
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2200
    (outlet = 'background-color') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2201
        type := #color.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2202
        sel := #backgroundColor:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2203
        text := 'background color'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2204
        initialText := 'Grey'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2205
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2206
    (outlet = 'active foreground-color') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2207
        type := #color.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2208
        sel := #activeForegroundColor:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2209
        text := 'active foreground color'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2210
        initialText := 'Yellow'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2211
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2212
    (outlet = 'active background-color') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2213
        type := #color.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2214
        sel := #activeBackgroundColor:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2215
        text := 'active background color'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2216
        initialText := 'Grey'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2217
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2218
    (outlet = 'scroll action') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2219
        type := #block.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2220
        sel := #scrollAction:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2221
        text := 'action block when scrolled'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2222
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2223
    (outlet = 'scrollUp action') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2224
        type := #block.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2225
        sel := #scrollUpAction:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2226
        text := 'action block when scrolled up'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2227
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2228
    (outlet = 'scrollDown action') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2229
        type := #block.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2230
        sel := #scrollDownAction:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2231
        text := 'action block when scrolled down'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2232
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2233
    (outlet = 'scrollLeft action') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2234
        type := #block.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2235
        sel := #scrollLeftAction:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2236
        text := 'action block when scrolled left'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2237
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2238
    (outlet = 'scrollRight action') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2239
        type := #block.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2240
        sel := #scrollRightAction:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2241
        text := 'action block when scrolled right'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2242
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2243
    (outlet = 'press action') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2244
        type := #block.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2245
        sel := #pressAction:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2246
        text := 'action block when pressed'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2247
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2248
    (outlet = 'release action') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2249
        type := #block.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2250
        sel := #releaseAction:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2251
        text := 'action block when released'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2252
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2253
    (outlet = 'style') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2254
        type := #symbol.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2255
        sel := #style:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2256
        initialList := #(motif next)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2257
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2258
    (outlet = 'handle position') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2259
        type := #symbol.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2260
        sel := #handlePosition:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2261
        initialList := #(left center right)
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2262
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2263
    (outlet = 'horizontal layout') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2264
        type := #symbol.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2265
        sel := #horizontalLayout:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2266
        text := 'horizontal components layout'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2267
        initialList := #(left
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2268
                         leftSpace
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2269
                         leftMax
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2270
                         leftSpaceMax
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2271
                         center 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2272
                         centerMax 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2273
                         right 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2274
                         rightSpace 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2275
                         rightMax 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2276
                         rightSpaceMax 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2277
                         spread 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2278
                         spreadSpace 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2279
                         spreadMax 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2280
                         spreadSpaceMax 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2281
                         fit
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2282
                         fitSpace).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2283
        initialText := view horizontalLayout printString
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2284
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2285
    (outlet = 'vertical layout') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2286
        type := #symbol.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2287
        sel := #verticalLayout:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2288
        text := 'vertical components layout'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2289
        initialList := #(top    
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2290
                         topSpace
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2291
                         center 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2292
                         bottom 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2293
                         bottomSpace 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2294
                         spread 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2295
                         spreadSpace 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2296
                         fit
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2297
                         fitSpace).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2298
        initialText := view verticalLayout printString
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2299
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2300
    (outlet = 'label position') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2301
        type := #symbol.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2302
        sel := #labelPosition:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2303
        initialList := #(topLeft topCenter topRight bottomLeft bottomCenter bottomRight).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2304
        initialText := view labelPosition printString
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2305
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2306
    (outlet = 'label layout') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2307
        type := #symbol.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2308
        sel := #adjust:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2309
        initialList := #( left right center centerLeft centerRight fit ).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2310
        initialText := view adjust printString
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2311
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2312
    (outlet = 'orientation') ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2313
        type := #symbol.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2314
        sel := #orientation:.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2315
        initialList := #( horizontal vertical ).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2316
        initialText := view orientation printString
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2317
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2318
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2319
    (type == #color) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2320
        initialList := #('Black'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2321
                         'White'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2322
                         'LightGrey'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2323
                         'Grey'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2324
                         'DarkGrey'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2325
                         'Yellow'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2326
                         'Red'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2327
                         'Green'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2328
                         'Blue'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2329
                        )
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2330
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2331
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2332
    text isNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2333
        text := outlet
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2334
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2335
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2336
    "what type of box do we need"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2337
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2338
    t := type.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2339
    ((type == #color) or:[type == #symbol or:[type == #fieldTypeSymbol]]) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2340
        t := #list
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2341
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2342
    ((type == #number) or:[type == #numberOrNil]) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2343
        t := #string
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2344
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2345
    (type == #strings) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2346
        t := #text
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2347
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2348
    (type == #block) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2349
        t := #text.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2350
        initialText := workView outletValueOf:sel for:view.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2351
        initialText isNil ifTrue:[initialText := '[statements]']
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2352
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2353
    (type == #block1) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2354
        t := #text.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2355
        type := #block.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2356
        initialText := workView outletValueOf:sel for:view.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2357
        initialText isNil ifTrue:[initialText := '[:argument | statements ]']
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2358
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2359
    (type == #block2) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2360
        t := #text.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2361
        type := #block.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2362
        initialText := workView outletValueOf:sel for:view.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2363
        initialText isNil ifTrue:[initialText := '[:arg1 :arg2 | statements ]']
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2364
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2365
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2366
    "show a box to enter thing"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2367
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2368
    (t == #boolean) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2369
        val := Dialog confirmWithCancel:text.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2370
        (val == true or:[val == false]) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2371
            action value:val
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2372
        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2373
        ^ self
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2374
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2375
    (t == #string) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2376
"/        stringBox isNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2377
            stringBox := EnterBox new.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2378
"/        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2379
        box := stringBox
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2380
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2381
    (t == #list) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2382
"/        listBox isNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2383
            listBox := ListSelectionBox new.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2384
"/        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2385
        listBox list:initialList.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2386
        box := listBox
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2387
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2388
    (t == #text) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2389
"/        actionBox isNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2390
            actionBox := TextBox new.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2391
"/        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2392
        actionBox initialText:initialText.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2393
        box := actionBox
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2394
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2395
"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2396
Transcript show:'outlet: '. Transcript showCR:outlet.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2397
Transcript show:'type:   '. Transcript showCR:type.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2398
Transcript show:'sel:    '. Transcript showCR:sel.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2399
Transcript show:'text:   '. Transcript showCR:text.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2400
"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2401
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2402
    box isNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2403
        self notify:'not yet implemented'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2404
    ] ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2405
        box initialText:initialText.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2406
        box title:text.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2407
        box action:action.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2408
        box showAtPointer
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2409
    ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2410
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2411
    "Modified: 6.9.1995 / 13:46:29 / claus"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2412
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2413
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2414
setColors
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2415
    |fg bg|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2416
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2417
    fg := (self aspectFor:#foregroundColor) value.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2418
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2419
    (fg notNil and:[fg notEmpty]) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2420
        fg := Color readFrom:fg.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2421
        workView singleSelectionDo:[:selectedView |
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2422
            selectedView foregroundColor:fg
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2423
        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2424
    ].
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2425
    bg := (self aspectFor:#backgroundColor) value.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2426
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2427
    (bg notNil and:[bg notEmpty]) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2428
        bg := Color readFrom:bg.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2429
        workView singleSelectionDo:[:selectedView |
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2430
            selectedView backgroundColor:bg
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2431
        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2432
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2433
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2434
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2435
setMiscAspects
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2436
    "sent when apply is pressen in the misc-sub view"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2437
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2438
    workView singleSelectionDo:[:selectedView |
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2439
        selectedView ~~ workView ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2440
            workView changeVariableNameOf:selectedView to:nameChannel value
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2441
        ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2442
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2443
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2444
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2445
setModelAspects
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2446
    "sent when apply is pressen in the model-sub view"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2447
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2448
    |aspectSymbol|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2449
50
fb4359c9bdc4 checkin from browser
ca
parents: 46
diff changeset
  2450
    aspectSymbol := (self aspectFor:#aspectChannel) value.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2451
    (aspectSymbol notNil and:[aspectSymbol notEmpty]) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2452
        aspectSymbol := aspectSymbol asSymbol.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2453
        workView singleSelectionDo:[:selectedView |
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2454
            selectedView ~~ workView ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2455
                workView setAspectSelector:aspectSymbol forView:selectedView
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2456
            ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2457
        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2458
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2459
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2460
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2461
setOutlet:outletSymbol type:type to:outletValue in:aView
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2462
    |block val messageSymbol|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2463
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2464
    messageSymbol := outletSymbol.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2465
    val := outletValue.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2466
    (type == #block) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2467
	block := Compiler evaluate:val.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2468
	(block == #Error) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2469
	    self warn:'action will not work in test-mode'.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2470
	    workView addOutletDefinitionFor:outletSymbol
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2471
				       type:type
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2472
				      value:outletValue
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2473
					for:aView.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2474
	    ^ self
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2475
	].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2476
	val := block
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2477
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2478
    (type == #number) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2479
	val := Number readFromString:outletValue onError:0 
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2480
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2481
    (type == #numberOrNil) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2482
	val := Number readFromString:outletValue onError:nil
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2483
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2484
    (type == #text) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2485
	val := outletValue asString
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2486
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2487
    (type == #strings) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2488
	val := outletValue asText
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2489
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2490
    (type == #symbol) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2491
	val := outletValue asSymbol.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2492
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2493
    (type == #fieldTypeSymbol) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2494
	val := outletValue asSymbol.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2495
	val == #password ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2496
	    aView passwordCharacter:$*
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2497
	] ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2498
	    aView passwordCharacter:nil
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2499
	].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2500
	val := (PrintConverter new initFor:val).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2501
	messageSymbol := #converter:
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2502
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2503
    (type == #color) ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2504
	val := Color name:outletValue.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2505
	val isNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2506
	    self warn:('no such color:' , outletValue).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2507
	    ^ self
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2508
	]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2509
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2510
Transcript show:(val printString).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2511
Transcript showCR:('(' , val class printString , ')').
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2512
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2513
    workView selectionHiddenDo:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2514
	aView perform:messageSymbol with:val.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2515
	workView elementChanged:aView.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2516
	aView redraw.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2517
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2518
    workView addOutletDefinitionFor:outletSymbol
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2519
			       type:type
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2520
			      value:outletValue
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2521
				for:aView
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2522
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2523
    "Modified: 6.9.1995 / 13:44:46 / claus"
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2524
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2525
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2526
showPropertyView
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2527
    |v l spec shown possibleProperties slices specIndex slice specSymbol|
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2528
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2529
    shown := whichProperty selection.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2530
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2531
    workView singleSelectionDo:[:selectedView |
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2532
        |aViewsSpec|
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2533
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2534
        aViewsSpec := workView generateSpecFor:selectedView.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2535
        aViewsSpec := aViewsSpec first.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2536
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2537
        slices := selectedView specClass slices.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2538
        possibleProperties := slices collect:[:slice | slice first asString].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2539
        possibleProperties := possibleProperties, #('dimension' 'colors' 'model' 'misc' 'attribute list').
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2540
        possibleProperties ~= whichProperty list ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2541
            whichProperty list:possibleProperties.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2542
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2543
            (possibleProperties includes:shown) ifFalse:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2544
                shown := nil.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2545
            ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2546
        ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2547
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2548
        specIndex := slices findFirst:[:slice | slice first = shown].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2549
        specIndex ~~ 0 ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2550
            slice := slices at:specIndex.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2551
            specSymbol := slice at:2.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2552
            (selectedView specClass respondsTo:specSymbol) ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2553
                spec := selectedView specClass perform:specSymbol.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2554
                ^ self setupPropertyFromSpec:spec for:aViewsSpec
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2555
            ]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2556
        ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2557
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2558
        (shown = 'dimension' or:[shown = 'Position']) ifTrue:[
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2559
            (l := selectedView geometryLayout) notNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2560
                l isLayout ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2561
                    l isAlignmentOrigin ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2562
                        spec := self class geometrySpecForAlignmentOrigin
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2563
                    ] ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2564
                        l isLayoutFrame ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2565
                            spec := self class geometrySpecForLayoutOrigin
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2566
                        ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2567
                    ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2568
                ]
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2569
            ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2570
            spec isNil ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2571
                spec := self class geometrySpecForLayoutFrame
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2572
            ].
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2573
            ^ self setupPropertyFromSpec:spec for:aViewsSpec
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2574
        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2575
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2576
        shown = 'colors' ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2577
            ^ self setupPropertyFromSpec:(self class colorSpec) for:aViewsSpec
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2578
        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2579
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2580
        shown = 'model' ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2581
            ^ self setupPropertyFromSpec:(self class modelSpec) for:aViewsSpec
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2582
        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2583
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2584
        shown = 'misc' ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2585
            ^ self setupPropertyFromSpec:(self class miscSpec) for:aViewsSpec
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2586
        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2587
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2588
        shown = 'attribute list' ifTrue:[
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2589
            specShown ~~ #attributeList ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2590
                propertyFrame destroySubViews.
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2591
                specSpecificAspectHolders := IdentityDictionary new.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2592
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2593
                v := ScrollableView for:SelectionInListView in:propertyFrame.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2594
                v origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2595
                outletView := v scrolledView.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2596
                outletView action:[:lineNr | lineNr notNil ifTrue:[self selectOutlet:lineNr]].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2597
                propertyFrame realizeAllSubViews.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2598
                specShown := #attributeList.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2599
            ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2600
            self showOutletsFor:(workView selection).
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2601
            ^ self
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2602
        ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2603
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2604
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2605
    propertyFrame destroySubViews.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2606
    outletView := nil.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2607
    specShown := nil.
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2608
    specSpecificAspectHolders := IdentityDictionary new.
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2609
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2610
! !
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2611
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2612
!UIPainter methodsFor:'user interaction - dialogs'!
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2613
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2614
checkClassAndSelector
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2615
    "check for class & superclass"
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2616
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2617
    |superclass cls|
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2618
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2619
    specClass isNil ifTrue:[^ false].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2620
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2621
    specClass isBehavior ifFalse:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2622
        cls := Smalltalk at:specClass asSymbol
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2623
    ] ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2624
        cls := specClass
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2625
    ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2626
    cls isNil ifTrue:[
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2627
        (superclass := Smalltalk at:specSuperclass asSymbol) isNil ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2628
            self warn:'no class named ' , specSuperclass , ' exists.'.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2629
            ^ false.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2630
        ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2631
        (self confirm:'create ' , specClass , ' ?') ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2632
            superclass subclass:(specClass asSymbol)
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2633
                       instanceVariableNames:''
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2634
                       classVariableNames:''
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2635
                       poolDictionaries:''
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2636
                       category:'New-Applications'.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2637
            ^ true.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2638
        ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2639
        ^ false.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2640
    ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2641
    cls isBehavior ifFalse:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2642
        self warn:'a global named ' , specClass , ' exists, but is no class.'.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2643
        ^ false.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2644
    ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2645
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2646
    specSuperclass isBehavior ifFalse:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2647
        superclass := Smalltalk at:specSuperclass asSymbol
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2648
    ] ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2649
        superclass := specSuperclass
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2650
    ].
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2651
    specSuperclass notNil ifTrue:[
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2652
        superclass isNil ifTrue:[
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2653
            self warn:'no class named ' , specSuperclass , ' exists.'.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2654
            ^ false.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2655
        ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2656
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2657
        (cls isSubclassOf:superclass) ifFalse:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2658
            self warn:'a global named ' , specClass , ' exists, but is not a subclass of ' , superclass name , '.'.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2659
            ^ false.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2660
        ]
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2661
    ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2662
    ^ true
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2663
!
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2664
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2665
defineClassAndSelector
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2666
    "launch a dialog to define class, superclass and method"
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2667
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2668
    |again|
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2669
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2670
    [
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2671
        again := false.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2672
        (self openDialogInterface:#nameAndSelectorSpec) ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2673
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2674
            specClass := (self aspectFor:#classNameChannel) value.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2675
            specSelector := (self aspectFor:#methodNameChannel) value.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2676
            specSuperclass := (self aspectFor:#superclassNameChannel) value.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2677
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2678
            again := self checkClassAndSelector not.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2679
            again ifFalse:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2680
                workView className:specClass superclassName:specSuperclass selector:specSelector.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2681
            ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2682
        ]
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2683
    ] doWhile:[again]
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2684
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2685
! !
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2686
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2687
!UIPainter methodsFor:'user interaction - menu'!
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2688
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2689
doFinish
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2690
    self closeRequest
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2691
!
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2692
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2693
doFromClass
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2694
        |className methodName cls sel accepted failed spec s|
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2695
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2696
        className := '' asValue.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2697
        methodName := '' asValue.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2698
        (s := workView className) notNil ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2699
            className value:s
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2700
        ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2701
        (s := workView methodName) notNil ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2702
            methodName value:s
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2703
        ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2704
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2705
        failed := false.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2706
        [
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2707
            accepted :=
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2708
                (DialogBox new
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2709
                    addTextLabel:'Classes name:';
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2710
                    addInputFieldOn:className; 
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2711
                    addVerticalSpace;
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2712
                    addTextLabel:'methods name:';
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2713
                    addInputFieldOn:methodName; 
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2714
                    addAbortButton; 
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2715
                    addOkButton; 
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2716
                    open
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2717
                ) accepted.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2718
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2719
             accepted ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2720
                cls := Smalltalk classNamed:className value.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2721
                cls isNil ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2722
                    failed := true.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2723
                    self warn:'no such class'.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2724
                ] ifFalse:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2725
                    sel := methodName value asSymbol.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2726
                    (cls respondsTo:sel ) ifFalse:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2727
                        failed := true.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2728
                        self warn:'no such method'
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2729
                    ] ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2730
                        spec := cls perform:sel.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2731
                        spec isArray ifFalse:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2732
                            failed := true.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2733
                            self warn:'not a windowSpec method'    
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2734
                        ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2735
                        "/ ok, got it
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2736
                        workView className:className value.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2737
                        workView methodName:methodName value.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2738
                        workView setupFromSpec:spec.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2739
                        ^ self
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2740
                     ]
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2741
                ]
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2742
             ]
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2743
        ] doWhile:[accepted and:[failed]].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2744
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2745
    "Modified: 5.9.1995 / 18:47:57 / claus"
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2746
!
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2747
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2748
doInstall
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2749
    |code|
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2750
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2751
    (specClass isNil or:[specSelector isNil]) ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2752
        self defineClassAndSelector
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2753
    ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2754
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2755
    self checkClassAndSelector ifFalse:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2756
        ^ self
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2757
    ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2758
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2759
    workView className:specClass superclassName:specSuperclass selector:specSelector.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2760
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2761
    code := workView generateCode.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2762
    (ReadStream on:code) fileIn.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2763
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2764
    "Modified: 4.9.1995 / 17:06:10 / claus"
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2765
!
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2766
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2767
doNew
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2768
    workView removeAll.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2769
    ^ self
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2770
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2771
    "Modified: 5.9.1995 / 20:52:21 / claus"
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2772
!
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2773
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2774
doOpen
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2775
    fileBox isNil ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2776
	fileBox := FileSelectionBox
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2777
			title:''
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2778
			"pattern:'*.sib'"
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2779
			okText:''
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2780
			abortText:(Resource name:'BUILDER_ABORT_LABEL'
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2781
					fromFile:'Builder.rs')
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2782
			action:[nil]
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2783
    ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2784
    fileBox title:(Resource name:'BUILDER_OPEN_TITLE' fromFile:'Builder.rs').
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2785
    fileBox action:[:fileName | self openFile:fileName].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2786
    fileBox okText:(Resource name:'BUILDER_OPEN_OK_LABEL' fromFile:'Builder.rs').
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2787
    fileBox showAtPointer
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2788
!
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2789
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2790
doPickAView
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2791
    |view className methodName cls sel accepted spec s|
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2792
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2793
    view := Display viewFromUser.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2794
    view isNil ifTrue:[^ self].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2795
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2796
    spec := UISpecification fromView:view topView.
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2797
    self halt.
55
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2798
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2799
    "/ ok, got it
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2800
    workView setupFromSpec:spec.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2801
    workView className:view class name.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2802
    workView methodName:#newSpec.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2803
    ^ self
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2804
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2805
    "Modified: 5.9.1995 / 23:25:53 / claus"
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2806
!
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2807
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2808
doPrint
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2809
    ^ self
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2810
!
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2811
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2812
doSave
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2813
    currentFileName notNil ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2814
	self saveAs:currentFileName
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2815
    ] ifFalse:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2816
	self doSaveAs
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2817
    ]
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2818
!
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2819
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2820
doSaveAs
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2821
    fileBox isNil ifTrue:[
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2822
	fileBox := FileSelectionBox
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2823
			title:''
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2824
			"pattern:'*.draw'"
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2825
			okText:''
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2826
			abortText:(Resource name:'BUILDER_ABORT_LABEL'
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2827
					fromFile:'Builder.rs')
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2828
			action:[nil]
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2829
    ].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2830
    fileBox title:(Resource name:'BUILDER_SAVE_TITLE' fromFile:'Builder.rs').
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2831
    fileBox action:[:fileName | self saveAs:fileName].
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2832
    fileBox okText:(Resource name:'BUILDER_SAVE_OK_LABEL' fromFile:'Builder.rs').
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2833
    fileBox showAtPointer
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2834
! !
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2835
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2836
!UIPainter ignoredMethodsFor:'user interaction - menu'!
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2837
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2838
doSource
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2839
   |code v|
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2840
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2841
   code := workView generateCode.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2842
   v := CodeView open.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2843
   v contents:code.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2844
   v label:(workView applicationName).
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2845
    ^ self
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2846
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2847
    "Modified: 5.9.1995 / 21:02:05 / claus"
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2848
! !
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2849
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2850
!UIPainter methodsFor:'user interaction - menu'!
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2851
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2852
doWindowSpec
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2853
   |code v|
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2854
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2855
   code := workView generateWindowSpecMethodSource.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2856
   v := CodeView open.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2857
   v contents:code.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2858
   v label:'windowSpec'.
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2859
    ^ self
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2860
19e021c8f1ef *** empty log message ***
ca
parents: 54
diff changeset
  2861
    "Modified: 5.9.1995 / 21:04:14 / claus"
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2862
!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2863
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2864
toggleTest
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2865
    |m t|
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2866
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2867
    m := menu menuAt:#test.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2868
    t := workView testMode not.
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2869
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2870
    t ifTrue:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2871
        m labelAt:#toggleTest put:(resources string:'test off')
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2872
    ] ifFalse:[
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2873
        m labelAt:#toggleTest put:(resources string:'test on')
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2874
    ].
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2875
    workView testMode:t
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2876
! !
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2877
58
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2878
!UIPainter::ButtonPanel methodsFor:'accessing'!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2879
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2880
receiver
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2881
    ^ receiver
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2882
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2883
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2884
receiver:aReceiver
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2885
    receiver := aReceiver
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2886
! !
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2887
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2888
!UIPainter::ButtonPanel methodsFor:'initialization'!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2889
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2890
initialize
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2891
    "initialize and setup buttons
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2892
    "
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2893
    super initialize.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2894
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2895
    self level:-1.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2896
    self borderWidth:0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2897
    self horizontalLayout:#leftSpace.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2898
    argumentToSelector := 1.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2899
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2900
    self specification do:[:anArray|
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2901
        |selector image button seperator|
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2902
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2903
        selector := anArray at:1.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2904
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2905
        selector notNil ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2906
            image  := Image fromFile:( anArray at:2 ).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2907
            button := Button label:image in:self.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2908
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2909
            selector last == $: ifFalse:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2910
                button action:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2911
                    receiver notNil ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2912
                        receiver perform:selector
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2913
                    ]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2914
                ]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2915
            ] ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2916
                button pressAction:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2917
                    receiver notNil ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2918
                        receiver perform:selector with:argumentToSelector
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2919
                    ]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2920
                ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2921
                button autoRepeat:true.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2922
                button menuHolder:self; menuMessage:#editMenu; menuPerformer:self.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2923
            ]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2924
        ] ifFalse:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2925
            seperator := View in:self.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2926
            seperator extent:20@1.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2927
            seperator borderWidth:0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2928
        ]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2929
    ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2930
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2931
!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2932
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2933
specification
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2934
    "return a spec for the buttons in the panel;
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2935
     entries consists of selector and bitmap-filename.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2936
     nil selectors are taken as separators (see setupButtonPanel)"
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2937
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2938
    ^ #(
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2939
        #( alignSelectionLeft         'b_alignL.xbm'    )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2940
        #( alignSelectionRight        'b_alignR.xbm'    )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2941
        #( alignSelectionLeftAndRight 'b_alignLR.xbm'   )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2942
        #( nil )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2943
        #( alignSelectionTop          'b_alignT.xbm'    )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2944
        #( alignSelectionBottom       'b_alignB.xbm'    )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2945
        #( alignSelectionTopAndBottom 'b_alignTB.xbm'   )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2946
        #( nil )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2947
        #( alignSelectionCenterHor    'b_alignCH.xbm'   )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2948
        #( alignSelectionCenterVer    'b_alignCV.xbm'   )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2949
        #( nil )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2950
        #( moveSelectionLeft:         'b_moveLeft.xbm'  )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2951
        #( moveSelectionRight:        'b_moveRight.xbm' )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2952
        #( moveSelectionUp:           'b_moveUp.xbm'    )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2953
        #( moveSelectionDown:         'b_moveDown.xbm'  )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2954
       )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2955
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2956
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2957
! !
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2958
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2959
!UIPainter::ButtonPanel methodsFor:'menu'!
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2960
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2961
editMenu
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2962
    "edit menu used by buttons using an argument for the receiver; the argumentToSelector
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2963
    "
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2964
    |menu|
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2965
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2966
    menu := PopUpMenu labels:#( '1' '2' '4' '10' '20' '..' )
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2967
                        args:#(  1   2   4   10   20  nil  ).
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2968
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2969
    menu action:[:anArg||no|
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2970
        (no := anArg) isNil ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2971
            no := EnterBox request:'number'.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2972
            no := SmallInteger readFrom:no onError:0.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2973
        ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2974
        no ~~ 0 ifTrue:[
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2975
            |index view|
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2976
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2977
            view := (WindowGroup lastEventQuerySignal raise) view.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2978
            view := view menuPerformer.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2979
            argumentToSelector := no.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2980
            view pressAction value.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2981
            argumentToSelector := 1.
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2982
        ]
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2983
    ].
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2984
    ^ menu
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2985
! !
668eb9eae2ac *** empty log message ***
ca
parents: 55
diff changeset
  2986
42
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2987
!UIPainter class methodsFor:'documentation'!
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2988
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2989
version
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2990
    ^ '$Header$'
877a25e8f5aa intitial checkin
ca
parents:
diff changeset
  2991
! !