UISpecificationTool.st
author convert-repo
Mon, 09 Jul 2018 03:31:19 +0000
changeset 3572 656e8b807454
parent 3517 e7224542f1a3
child 3577 5a3b84a9d7e7
permissions -rw-r--r--
update tags
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
     1
"
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
     2
 COPYRIGHT (c) 1995 by eXept Software AG
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
     3
              All Rights Reserved
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
     4
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
     5
 This software is furnished under a license and may be used
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    10
 hereby transferred.
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    11
"
1386
5b562fd44e68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1364
diff changeset
    12
"{ Package: 'stx:libtool2' }"
5b562fd44e68 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1364
diff changeset
    13
3214
eceb5d2c5526 class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 3107
diff changeset
    14
"{ NameSpace: Smalltalk }"
eceb5d2c5526 class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 3107
diff changeset
    15
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    16
ApplicationModel subclass:#UISpecificationTool
759
f0c325edcc6c add scroller
ca
parents: 752
diff changeset
    17
	instanceVariableNames:'modifiedHolder aspects specification selection specChannel
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
    18
		buildInView listOfSpecViews'
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    19
	classVariableNames:''
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    20
	poolDictionaries:''
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    21
	category:'Interface-UIPainter'
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    22
!
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    23
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
    24
ViewScroller subclass:#BuildInView
1573
bf9c5ca8e48a reuse functionality of changed ViewScroller
ca
parents: 1505
diff changeset
    25
	instanceVariableNames:''
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
    26
	classVariableNames:''
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
    27
	poolDictionaries:''
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
    28
	privateIn:UISpecificationTool
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
    29
!
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
    30
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    31
!UISpecificationTool class methodsFor:'documentation'!
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    32
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    33
copyright
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    34
"
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    35
 COPYRIGHT (c) 1995 by eXept Software AG
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    36
              All Rights Reserved
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    37
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    38
 This software is furnished under a license and may be used
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    39
 only in accordance with the terms of that license and with the
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    40
 inclusion of the above copyright notice.   This software may not
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    41
 be provided or otherwise made available to, or used by, any
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    42
 other person.  No title to or ownership of the software is
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    43
 hereby transferred.
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    44
"
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    45
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    46
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    47
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    48
!
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    49
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    50
documentation
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    51
"
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    52
    used by the UIPainter to manipulate the specifications of the selected component
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    53
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    54
    [author:]
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    55
        Claus Atzkern
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    56
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    57
    [see also:]
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    58
        UIPainter
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    59
        UILayoutTool
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    60
        UIHelpTool
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    61
"
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    62
! !
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
    63
1963
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    64
!UISpecificationTool class methodsFor:'help specs'!
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    65
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    66
helpSpec
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    67
    "This resource specification was automatically generated
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    68
     by the UIHelpTool of ST/X."
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    69
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    70
    "Do not manually edit this!! If it is corrupted,
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    71
     the UIHelpTool may not be able to read the specification."
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    72
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    73
    "
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    74
     UIHelpTool openOnClass:UISpecificationTool    
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    75
    "
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    76
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    77
    <resource: #help>
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    78
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    79
    ^ super helpSpec addPairsFrom:#(
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
    80
3214
eceb5d2c5526 class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 3107
diff changeset
    81
#addTabAction
eceb5d2c5526 class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 3107
diff changeset
    82
''
eceb5d2c5526 class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 3107
diff changeset
    83
2830
aec9b9fd5c17 changed: #helpSpec
Claus Gittinger <cg@exept.de>
parents: 2743
diff changeset
    84
#allowNilColor
aec9b9fd5c17 changed: #helpSpec
Claus Gittinger <cg@exept.de>
parents: 2743
diff changeset
    85
'Add an option to allow a nil-Color to be choosen'
aec9b9fd5c17 changed: #helpSpec
Claus Gittinger <cg@exept.de>
parents: 2743
diff changeset
    86
2316
32e98f335115 Configure wether symbolic colors are allowed
Stefan Vogel <sv@exept.de>
parents: 2283
diff changeset
    87
#allowSymbolicColors
2335
10ccdd81d985 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2316
diff changeset
    88
'ColorMenu is allowed to return a symbolic color name'
10ccdd81d985 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2316
diff changeset
    89
10ccdd81d985 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2316
diff changeset
    90
#allowSymbolicFonts
10ccdd81d985 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2316
diff changeset
    91
'FontMenu is allowed to return a symbolic font name'
2316
32e98f335115 Configure wether symbolic colors are allowed
Stefan Vogel <sv@exept.de>
parents: 2283
diff changeset
    92
2209
c7ac53d62021 action creation/browse added
Claus Gittinger <cg@exept.de>
parents: 2160
diff changeset
    93
#browseAction
2902
2a7a9d68d16c changed: #helpSpec
Claus Gittinger <cg@exept.de>
parents: 2830
diff changeset
    94
'Browse/Create the Action method'
2209
c7ac53d62021 action creation/browse added
Claus Gittinger <cg@exept.de>
parents: 2160
diff changeset
    95
2237
c1d95982e1c3 browse/generate aspect methods
Claus Gittinger <cg@exept.de>
parents: 2211
diff changeset
    96
#browseAspectMethod
2902
2a7a9d68d16c changed: #helpSpec
Claus Gittinger <cg@exept.de>
parents: 2830
diff changeset
    97
'Browse/Create the Aspect method'
2237
c1d95982e1c3 browse/generate aspect methods
Claus Gittinger <cg@exept.de>
parents: 2211
diff changeset
    98
2283
b14becb50aac EditListIcon
Stefan Vogel <sv@exept.de>
parents: 2245
diff changeset
    99
#editListSpec
b14becb50aac EditListIcon
Stefan Vogel <sv@exept.de>
parents: 2245
diff changeset
   100
'Edit the contents of the list (inline)'
b14becb50aac EditListIcon
Stefan Vogel <sv@exept.de>
parents: 2245
diff changeset
   101
2316
32e98f335115 Configure wether symbolic colors are allowed
Stefan Vogel <sv@exept.de>
parents: 2283
diff changeset
   102
#labelsAreColored
2830
aec9b9fd5c17 changed: #helpSpec
Claus Gittinger <cg@exept.de>
parents: 2743
diff changeset
   103
'Draw the labels in their color (otherwise, draw the background)'
2316
32e98f335115 Configure wether symbolic colors are allowed
Stefan Vogel <sv@exept.de>
parents: 2283
diff changeset
   104
2377
460554434db0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2350
diff changeset
   105
#showFrame
460554434db0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2350
diff changeset
   106
'Show the frame'
460554434db0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2350
diff changeset
   107
2830
aec9b9fd5c17 changed: #helpSpec
Claus Gittinger <cg@exept.de>
parents: 2743
diff changeset
   108
#showUseDefaultToggle
aec9b9fd5c17 changed: #helpSpec
Claus Gittinger <cg@exept.de>
parents: 2743
diff changeset
   109
'Add a toggle to choose the "default" color (resulting color will be nil)'
aec9b9fd5c17 changed: #helpSpec
Claus Gittinger <cg@exept.de>
parents: 2743
diff changeset
   110
1963
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
   111
)
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
   112
! !
a0c51ed97fc3 autoScrollHoriz is now configurable
Claus Gittinger <cg@exept.de>
parents: 1956
diff changeset
   113
2209
c7ac53d62021 action creation/browse added
Claus Gittinger <cg@exept.de>
parents: 2160
diff changeset
   114
!UISpecificationTool class methodsFor:'image specs'!
c7ac53d62021 action creation/browse added
Claus Gittinger <cg@exept.de>
parents: 2160
diff changeset
   115
c7ac53d62021 action creation/browse added
Claus Gittinger <cg@exept.de>
parents: 2160
diff changeset
   116
browseActionImage
c7ac53d62021 action creation/browse added
Claus Gittinger <cg@exept.de>
parents: 2160
diff changeset
   117
    ^ UIPainter browseActionImage
2283
b14becb50aac EditListIcon
Stefan Vogel <sv@exept.de>
parents: 2245
diff changeset
   118
!
b14becb50aac EditListIcon
Stefan Vogel <sv@exept.de>
parents: 2245
diff changeset
   119
b14becb50aac EditListIcon
Stefan Vogel <sv@exept.de>
parents: 2245
diff changeset
   120
editTableIcon
b14becb50aac EditListIcon
Stefan Vogel <sv@exept.de>
parents: 2245
diff changeset
   121
    ^ UIPainter editTableIcon
2209
c7ac53d62021 action creation/browse added
Claus Gittinger <cg@exept.de>
parents: 2160
diff changeset
   122
! !
c7ac53d62021 action creation/browse added
Claus Gittinger <cg@exept.de>
parents: 2160
diff changeset
   123
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   124
!UISpecificationTool class methodsFor:'interface specs'!
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   125
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   126
windowSpec
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   127
    "This resource specification was automatically generated
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   128
     by the UIPainter of ST/X."
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   129
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   130
    "Do not manually edit this!! If it is corrupted,
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   131
     the UIPainter may not be able to read the specification."
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   132
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   133
    "
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   134
     UIPainter new openOnClass:UISpecificationTool andSelector:#windowSpec
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   135
     UISpecificationTool new openInterface:#windowSpec
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   136
     UISpecificationTool open
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   137
    "
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   138
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   139
    <resource: #canvas>
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   140
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   141
    ^ 
3107
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   142
    #(FullSpec
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   143
       name: windowSpec
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   144
       window: 
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   145
      (WindowSpec
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   146
         label: 'unnamed canvas'
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   147
         name: 'unnamed canvas'
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   148
         bounds: (Rectangle 0 0 300 300)
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   149
       )
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   150
       component: 
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   151
      (SpecCollection
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   152
         collection: (
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   153
          (ArbitraryComponentSpec
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   154
             name: 'BuildInView'
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   155
             layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   156
             hasVerticalScrollBar: false
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   157
             miniScrollerVertical: false
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   158
             autoHideScrollBars: true
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   159
             hasBorder: false
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   160
             component: buildInView
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   161
           )
3107
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   162
          )
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   163
        
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   164
       )
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   165
     )
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   166
! !
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   167
1781
d67090b1ad57 resources shared with UIPainter class
Claus Gittinger <cg@exept.de>
parents: 1677
diff changeset
   168
!UISpecificationTool class methodsFor:'resources'!
d67090b1ad57 resources shared with UIPainter class
Claus Gittinger <cg@exept.de>
parents: 1677
diff changeset
   169
d67090b1ad57 resources shared with UIPainter class
Claus Gittinger <cg@exept.de>
parents: 1677
diff changeset
   170
classResources
d67090b1ad57 resources shared with UIPainter class
Claus Gittinger <cg@exept.de>
parents: 1677
diff changeset
   171
    "my translations are found in the UIPainter classes resources"
d67090b1ad57 resources shared with UIPainter class
Claus Gittinger <cg@exept.de>
parents: 1677
diff changeset
   172
d67090b1ad57 resources shared with UIPainter class
Claus Gittinger <cg@exept.de>
parents: 1677
diff changeset
   173
    ^ UIPainter classResources 
d67090b1ad57 resources shared with UIPainter class
Claus Gittinger <cg@exept.de>
parents: 1677
diff changeset
   174
! !
d67090b1ad57 resources shared with UIPainter class
Claus Gittinger <cg@exept.de>
parents: 1677
diff changeset
   175
1331
fa88e14d026d help texts
Claus Gittinger <cg@exept.de>
parents: 1328
diff changeset
   176
!UISpecificationTool methodsFor:'accessing-channels'!
1315
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   177
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   178
modifiedHolder:aValueHolder
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   179
    "set the value holder set to true in case of modifying attributes
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   180
    "
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   181
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   182
    modifiedHolder removeDependent:self.
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   183
1315
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   184
    (modifiedHolder := aValueHolder) notNil ifTrue:[
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   185
        modifiedHolder addDependent:self.
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   186
    ].
1063
9e710dbc7c92 inputFields use modified & acceptChannels
Claus Gittinger <cg@exept.de>
parents: 1051
diff changeset
   187
1315
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   188
! !
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   189
1331
fa88e14d026d help texts
Claus Gittinger <cg@exept.de>
parents: 1328
diff changeset
   190
!UISpecificationTool methodsFor:'accessing-specification'!
1063
9e710dbc7c92 inputFields use modified & acceptChannels
Claus Gittinger <cg@exept.de>
parents: 1051
diff changeset
   191
2245
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   192
listOfAspects
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   193
    ^ masterApplication listOfAspects
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   194
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   195
    "Created: / 12-01-2008 / 19:24:39 / cg"
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   196
!
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   197
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   198
listOfCallbacks
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   199
    ^ masterApplication listOfCallbacks
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   200
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   201
    "Created: / 12-01-2008 / 19:25:05 / cg"
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   202
!
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   203
172
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   204
specification
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   205
    "gets current edit specification
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   206
    "
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   207
    ^ specification
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   208
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   209
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   210
!
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   211
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   212
specification:aSpec
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   213
    "sets current edit specification
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   214
    "
1315
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   215
    aSpec notNil ifTrue:[
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   216
        "/ same type of spec - simply change the spec;  no need to setup everything
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   217
        specification class == aSpec class ifTrue:[
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   218
            specification := aSpec.
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   219
            specChannel value:specification.
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   220
          ^ self
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   221
        ]
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   222
    ].
428
f87cca33874e remove dependencies from builder when selection changed
ca
parents: 367
diff changeset
   223
1315
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   224
    "/ release resources
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   225
    specChannel release.
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   226
    aspects     release.
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   227
    selection := listOfSpecViews := nil.
1573
bf9c5ca8e48a reuse functionality of changed ViewScroller
ca
parents: 1505
diff changeset
   228
    buildInView destroyAllClientViews.
1315
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   229
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   230
    (specification := aSpec) isNil ifTrue:[
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   231
        aspects := specChannel := nil.
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   232
      ^ self
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   233
    ].
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   234
    
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   235
    "/ some tricky specs need the builder during the addBindings phase.
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   236
    "/ This is passed down in a special UIBindingsDictionary
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   237
    "/ (remain backward compatible)
536
3991e37ec19f pass special dictionary as bindings-environmnt
Claus Gittinger <cg@exept.de>
parents: 428
diff changeset
   238
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   239
    aspects := UISpecification newBindingsDictionary.
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   240
    aspects builder:builder.
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   241
    aspects at:#modifiedChannel put:modifiedHolder.
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   242
    aspects at:#acceptChannel   put:self acceptChannel.
172
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   243
2245
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   244
    aspects at:#listOfAspects put:[self listOfAspects].
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   245
    aspects at:#listOfCallbacks put:[self listOfCallbacks].
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   246
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   247
    specChannel := specification asValue.
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   248
    specification class addBindingsTo:aspects for:specification channel:specChannel.
536
3991e37ec19f pass special dictionary as bindings-environmnt
Claus Gittinger <cg@exept.de>
parents: 428
diff changeset
   249
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   250
    "/ arrange for being notified, if any aspect changes
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   251
    aspects do:[:el| el addDependent:self ].
2245
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   252
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   253
    "Modified: / 12-01-2008 / 19:28:47 / cg"
172
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   254
! !
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   255
364
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   256
!UISpecificationTool methodsFor:'actions'!
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   257
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   258
setMaxExtent
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   259
    "set the windows maxExtent from its current extent"
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   260
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   261
    |canvas currentExtent|
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   262
2211
f7fac4c1afe9 UseViewScroller
Claus Gittinger <cg@exept.de>
parents: 2209
diff changeset
   263
    canvas := self masterApplication canvas.
364
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   264
    currentExtent := canvas extent.
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   265
    (self aspectFor:#maxX) value:currentExtent x.
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   266
    (self aspectFor:#maxY) value:currentExtent y.
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   267
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   268
    "Modified: / 29.10.1997 / 18:29:17 / cg"
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   269
!
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   270
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   271
setMinExtent
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   272
    "set the windows minExtent from its current extent"
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   273
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   274
    |canvas currentExtent|
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   275
2211
f7fac4c1afe9 UseViewScroller
Claus Gittinger <cg@exept.de>
parents: 2209
diff changeset
   276
    canvas := self masterApplication canvas.
364
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   277
    currentExtent := canvas extent.
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   278
    (self aspectFor:#minX) value:currentExtent x.
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   279
    (self aspectFor:#minY) value:currentExtent y.
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   280
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   281
    "Created: / 29.10.1997 / 18:17:55 / cg"
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   282
    "Modified: / 29.10.1997 / 18:28:53 / cg"
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   283
! !
c175e197f050 setMin / setMax
Claus Gittinger <cg@exept.de>
parents: 350
diff changeset
   284
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   285
!UISpecificationTool methodsFor:'bindings'!
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   286
1315
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   287
acceptChannel
2245
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   288
    ^ masterApplication acceptChannel
1315
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   289
2245
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   290
    "Modified: / 12-01-2008 / 11:28:38 / cg"
1315
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   291
!
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   292
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   293
aspectFor:aKey
2245
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   294
    "returns the aspect for a key or nil"
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   295
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   296
    aspects notNil ifTrue:[
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   297
        ^ aspects at:aKey ifAbsent:nil
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   298
    ].
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   299
    ^ super aspectFor:aKey
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   300
2245
fdc284aa0671 changed #initialize
Claus Gittinger <cg@exept.de>
parents: 2239
diff changeset
   301
    "Modified: / 12-01-2008 / 11:28:52 / cg"
428
f87cca33874e remove dependencies from builder when selection changed
ca
parents: 367
diff changeset
   302
!
f87cca33874e remove dependencies from builder when selection changed
ca
parents: 367
diff changeset
   303
1313
95ef9b917d82 no level for scrollable windowSpec ..
ca
parents: 1307
diff changeset
   304
buildInView
95ef9b917d82 no level for scrollable windowSpec ..
ca
parents: 1307
diff changeset
   305
    ^ buildInView
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   306
!
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   307
584
351914fcc5a4 Define #specificationFor: to fetch subspecifications and
Stefan Vogel <sv@exept.de>
parents: 580
diff changeset
   308
specificationFor:aKey
351914fcc5a4 Define #specificationFor: to fetch subspecifications and
Stefan Vogel <sv@exept.de>
parents: 580
diff changeset
   309
    "this is called if our current specification contains 
351914fcc5a4 Define #specificationFor: to fetch subspecifications and
Stefan Vogel <sv@exept.de>
parents: 580
diff changeset
   310
     subspecifications or subcanvases.
351914fcc5a4 Define #specificationFor: to fetch subspecifications and
Stefan Vogel <sv@exept.de>
parents: 580
diff changeset
   311
     Get the subspecification from the current specification"
351914fcc5a4 Define #specificationFor: to fetch subspecifications and
Stefan Vogel <sv@exept.de>
parents: 580
diff changeset
   312
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   313
    specification notNil ifTrue:[
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   314
        ^ specification class perform:aKey ifNotUnderstood:nil
584
351914fcc5a4 Define #specificationFor: to fetch subspecifications and
Stefan Vogel <sv@exept.de>
parents: 580
diff changeset
   315
    ].
351914fcc5a4 Define #specificationFor: to fetch subspecifications and
Stefan Vogel <sv@exept.de>
parents: 580
diff changeset
   316
    ^ nil
172
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   317
! !
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   318
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   319
!UISpecificationTool methodsFor:'change & update'!
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   320
172
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   321
update
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   322
    "reload specification
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   323
    "
172
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   324
    specChannel notNil ifTrue:[
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   325
        specChannel value:specification.
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   326
    ]
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   327
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   328
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   329
!
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   330
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   331
update:something with:someArgument from:someone
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   332
    "any attribute changed its state in the current specification
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   333
    "
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   334
    someone ~~ modifiedHolder ifTrue:[
893
09ea254a9fda comments
Claus Gittinger <cg@exept.de>
parents: 876
diff changeset
   335
        "/ any in the spec has changed.
09ea254a9fda comments
Claus Gittinger <cg@exept.de>
parents: 876
diff changeset
   336
        "/ update my modified holders value
09ea254a9fda comments
Claus Gittinger <cg@exept.de>
parents: 876
diff changeset
   337
1071
560a9eb1a5d8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1069
diff changeset
   338
        modifiedHolder value:true
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   339
    ]
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   340
893
09ea254a9fda comments
Claus Gittinger <cg@exept.de>
parents: 876
diff changeset
   341
    "Modified: / 16.7.1998 / 19:25:59 / cg"
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   342
! !
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   343
1956
65cc475656d3 help texts
Claus Gittinger <cg@exept.de>
parents: 1941
diff changeset
   344
!UISpecificationTool methodsFor:'help'!
65cc475656d3 help texts
Claus Gittinger <cg@exept.de>
parents: 1941
diff changeset
   345
65cc475656d3 help texts
Claus Gittinger <cg@exept.de>
parents: 1941
diff changeset
   346
basicHelpTextForKey:aKey
65cc475656d3 help texts
Claus Gittinger <cg@exept.de>
parents: 1941
diff changeset
   347
    "activeHelp interface: return some help text for a key.
65cc475656d3 help texts
Claus Gittinger <cg@exept.de>
parents: 1941
diff changeset
   348
     Redefined to ask the current components Spec first."
65cc475656d3 help texts
Claus Gittinger <cg@exept.de>
parents: 1941
diff changeset
   349
65cc475656d3 help texts
Claus Gittinger <cg@exept.de>
parents: 1941
diff changeset
   350
    |helpText|
65cc475656d3 help texts
Claus Gittinger <cg@exept.de>
parents: 1941
diff changeset
   351
2524
759b4b908fcb allow master to provide an alternative help text
Claus Gittinger <cg@exept.de>
parents: 2377
diff changeset
   352
    "/ first, ask the master (a hook for expecco, to provide different help texts)
759b4b908fcb allow master to provide an alternative help text
Claus Gittinger <cg@exept.de>
parents: 2377
diff changeset
   353
    masterApplication notNil ifTrue:[
759b4b908fcb allow master to provide an alternative help text
Claus Gittinger <cg@exept.de>
parents: 2377
diff changeset
   354
        helpText := masterApplication basicHelpTextForKey:aKey.
759b4b908fcb allow master to provide an alternative help text
Claus Gittinger <cg@exept.de>
parents: 2377
diff changeset
   355
        helpText notNil ifTrue:[^ helpText ].
2545
cd5d45739973 more flexible flyByHelpText redefinition
Claus Gittinger <cg@exept.de>
parents: 2524
diff changeset
   356
cd5d45739973 more flexible flyByHelpText redefinition
Claus Gittinger <cg@exept.de>
parents: 2524
diff changeset
   357
        "/ then, ask the master about the spec
cd5d45739973 more flexible flyByHelpText redefinition
Claus Gittinger <cg@exept.de>
parents: 2524
diff changeset
   358
        helpText := masterApplication basicHelpTextFromSpecification:specification forKey:aKey.
cd5d45739973 more flexible flyByHelpText redefinition
Claus Gittinger <cg@exept.de>
parents: 2524
diff changeset
   359
    ] ifFalse:[
cd5d45739973 more flexible flyByHelpText redefinition
Claus Gittinger <cg@exept.de>
parents: 2524
diff changeset
   360
        "/ then, ask the spec
cd5d45739973 more flexible flyByHelpText redefinition
Claus Gittinger <cg@exept.de>
parents: 2524
diff changeset
   361
        helpText := (specification helpSpec) at:aKey ifAbsent:nil.
2524
759b4b908fcb allow master to provide an alternative help text
Claus Gittinger <cg@exept.de>
parents: 2377
diff changeset
   362
    ].
759b4b908fcb allow master to provide an alternative help text
Claus Gittinger <cg@exept.de>
parents: 2377
diff changeset
   363
    helpText notNil ifTrue:[^ helpText ].
759b4b908fcb allow master to provide an alternative help text
Claus Gittinger <cg@exept.de>
parents: 2377
diff changeset
   364
759b4b908fcb allow master to provide an alternative help text
Claus Gittinger <cg@exept.de>
parents: 2377
diff changeset
   365
    "/ finally, ask myself...
759b4b908fcb allow master to provide an alternative help text
Claus Gittinger <cg@exept.de>
parents: 2377
diff changeset
   366
    ^ super basicHelpTextForKey:aKey.
1956
65cc475656d3 help texts
Claus Gittinger <cg@exept.de>
parents: 1941
diff changeset
   367
! !
65cc475656d3 help texts
Claus Gittinger <cg@exept.de>
parents: 1941
diff changeset
   368
1315
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   369
!UISpecificationTool methodsFor:'initialization'!
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   370
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   371
initialize
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   372
    super initialize.
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   373
    buildInView := BuildInView new.
1573
bf9c5ca8e48a reuse functionality of changed ViewScroller
ca
parents: 1505
diff changeset
   374
    buildInView keepViews:true.
1315
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   375
! !
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   376
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   377
!UISpecificationTool methodsFor:'selection'!
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   378
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   379
selection:something
2743
a3413ff28529 changed: #selection:
Claus Gittinger <cg@exept.de>
parents: 2631
diff changeset
   380
    "selection changed"
a3413ff28529 changed: #selection:
Claus Gittinger <cg@exept.de>
parents: 2631
diff changeset
   381
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   382
    |slices index spec window|
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   383
172
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   384
    specification notNil ifTrue:[
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   385
        slices := specification class slices.
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   386
        index  := slices findFirst:[:aSlice| aSlice first = something ].
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   387
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   388
        index ~~ 0 ifTrue:[
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   389
            spec := specification class perform:((slices at:index) last)
428
f87cca33874e remove dependencies from builder when selection changed
ca
parents: 367
diff changeset
   390
        ]
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   391
    ].
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   392
172
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 164
diff changeset
   393
    spec ~= selection ifTrue:[
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   394
        (selection := spec) notNil ifTrue:[
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   395
            listOfSpecViews isNil ifTrue:[
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   396
                listOfSpecViews := Array new:(slices size).
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   397
            ] ifFalse:[
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   398
                window := listOfSpecViews at:index
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   399
            ].
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   400
            window isNil ifTrue:[
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   401
                builder buildFromSpec:spec in:(window := SimpleView new).
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   402
                listOfSpecViews at:index put:window.
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   403
            ].
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   404
        ].
1315
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   405
        buildInView scrolledView:window.
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   406
    ].
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   407
! !
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   408
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   409
!UISpecificationTool::BuildInView methodsFor:'accessing'!
759
f0c325edcc6c add scroller
ca
parents: 752
diff changeset
   410
2160
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   411
mapped
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   412
    super mapped.
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   413
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   414
    scrolledView notNil ifTrue:[
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   415
        scrolledView beVisible.
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   416
        scrolledView raise.
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   417
    ].
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   418
!
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   419
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   420
scrolledView:aView
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   421
    "set the view to be scrolled"
1573
bf9c5ca8e48a reuse functionality of changed ViewScroller
ca
parents: 1505
diff changeset
   422
    |wrapper y|
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   423
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   424
    scrolledView == aView ifTrue:[^ self].
759
f0c325edcc6c add scroller
ca
parents: 752
diff changeset
   425
2160
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   426
    scrolledView notNil ifTrue:[
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   427
        scrolledView unmap.
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   428
    ].
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   429
    (scrolledView := aView) notNil ifTrue:[
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   430
        scrolledView superView ~~ frame ifTrue:[
3107
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   431
            frame addSubView:scrolledView.
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   432
        ].
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   433
        true ifTrue:[
2160
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   434
            scrolledView borderWidth:0; level:0.
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   435
            scrolledView subViews size == 1 ifTrue:[
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   436
                wrapper := scrolledView subViews first.
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   437
                wrapper isScrollWrapper ifTrue:[
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   438
                    "/ give it a full-relative size, and let it do
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   439
                    "/ the scrolling itself.
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   440
                    y := 1.0
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   441
                ]
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   442
            ].
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   443
            y isNil ifTrue:[
2350
3421f548e14a preferredX
Claus Gittinger <cg@exept.de>
parents: 2335
diff changeset
   444
                y := scrolledView preferredHeight
2160
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   445
            ].
3107
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   446
            scrolledView allViewBackground:(self viewBackground).
2160
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   447
            scrolledView origin:0@0 corner:1.0 @ y.
1351
811686e8acab no additional scrollBar, if embedded view is itself a scrollable
Claus Gittinger <cg@exept.de>
parents: 1344
diff changeset
   448
        ].
2160
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   449
    ].    
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   450
    shown ifTrue:[
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   451
        scrolledView beVisible.
8f6a8896f10d focus handling
ca
parents: 1963
diff changeset
   452
        scrolledView raise.
1307
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   453
        self sizeChanged:nil.
52898ecde37d tabing: use map/unmap insteat of raise
ca
parents: 1296
diff changeset
   454
    ].
1573
bf9c5ca8e48a reuse functionality of changed ViewScroller
ca
parents: 1505
diff changeset
   455
    model value:scrolledView.
759
f0c325edcc6c add scroller
ca
parents: 752
diff changeset
   456
! !
f0c325edcc6c add scroller
ca
parents: 752
diff changeset
   457
1313
95ef9b917d82 no level for scrollable windowSpec ..
ca
parents: 1307
diff changeset
   458
!UISpecificationTool::BuildInView methodsFor:'initialization'!
95ef9b917d82 no level for scrollable windowSpec ..
ca
parents: 1307
diff changeset
   459
3107
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   460
initialize
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   461
    super initialize.
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   462
    resizeScrolledViewHorizontal := true.
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   463
    resizeScrolledViewVertical   := true.
1313
95ef9b917d82 no level for scrollable windowSpec ..
ca
parents: 1307
diff changeset
   464
!
95ef9b917d82 no level for scrollable windowSpec ..
ca
parents: 1307
diff changeset
   465
95ef9b917d82 no level for scrollable windowSpec ..
ca
parents: 1307
diff changeset
   466
realize
1315
8722cfe3cce1 checkin from browser
ca
parents: 1313
diff changeset
   467
1313
95ef9b917d82 no level for scrollable windowSpec ..
ca
parents: 1307
diff changeset
   468
    super realize.
3107
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   469
   superView notNil ifTrue:[superView level:0].
1313
95ef9b917d82 no level for scrollable windowSpec ..
ca
parents: 1307
diff changeset
   470
! !
95ef9b917d82 no level for scrollable windowSpec ..
ca
parents: 1307
diff changeset
   471
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   472
!UISpecificationTool class methodsFor:'documentation'!
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   473
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   474
version
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   475
    ^ '$Header$'
2631
8d74338aa3bd changed: #helpSpec
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
   476
!
8d74338aa3bd changed: #helpSpec
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
   477
8d74338aa3bd changed: #helpSpec
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
   478
version_CVS
8d74338aa3bd changed: #helpSpec
Claus Gittinger <cg@exept.de>
parents: 2545
diff changeset
   479
    ^ '$Header$'
164
1bc26edd0d3e intitial checkin
ca
parents:
diff changeset
   480
! !
3107
985c4b07da6a class: UISpecificationTool
Claus Gittinger <cg@exept.de>
parents: 2902
diff changeset
   481