Border.st
author Claus Gittinger <cg@exept.de>
Mon, 10 Feb 1997 15:45:30 +0100
changeset 1322 b473b0db6399
parent 1321 b87667a37eef
child 1324 c2feab00b045
permissions -rw-r--r--
checkin from browser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1321
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
Object subclass:#Border
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
	instanceVariableNames:'left right top bottom leftColor rightColor topColor bottomColor'
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
	classVariableNames:''
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	poolDictionaries:''
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	category:'Interface-Support'
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!Border class methodsFor:'documentation'!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
documentation
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
    a border holdes the values of a views (or components) border.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
    It is (currently) not used by ST/X, but provided as a comatibility hook.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
    (... however, ST/X is being rewritten to make use of it soon).
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
    Notice: 
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
        this class was implemented using protocol information
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
        from alpha testers, from reading PD programs and 
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
        from the Hopkins/Horan book.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
        - it may not be complete or compatible to the corresponding ST-80 class. 
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
        If you encounter any incompatibilities, please forward a note 
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
        describing the incompatibility verbal (i.e. no code) to the ST/X team.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
    [see also:]
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
        Wrapper SimpleView
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
    [author:]
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
        Claus Gittinger
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
! !
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
!Border class methodsFor:'instance creation'!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
width:borderWidth
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
    "create a new instance of the receiver with a border of the given width  
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
     (and default color)."
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
    ^ self width:borderWidth color:View defaultBorderColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
    "Modified: 10.2.1997 / 15:19:57 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
width:borderWidth color:aColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    "create a new instance of the receiver with a border of the given width  
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
     and color."
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
    ^ self new
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
        setBorderWidth:borderWidth color:aColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
    "Modified: 10.2.1997 / 15:20:32 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
! !
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
!Border methodsFor:'accessing'!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
bottom
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    "return the bottom border width"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    ^ bottom
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    "Created: 10.2.1997 / 14:51:34 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    "Modified: 10.2.1997 / 15:39:01 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
bottomColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
    "return the value of the instance variable 'bottomColor' (automatically generated)"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
    ^ bottomColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
    "Created: 10.2.1997 / 14:51:34 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
color:newColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
    "set all four colors"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    leftColor := rightColor := topColor := bottomColor := newColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    "Created: 10.2.1997 / 15:27:01 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
left
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
    "return the left border width"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
    ^ left
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
    "Created: 10.2.1997 / 14:51:34 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
    "Modified: 10.2.1997 / 15:39:05 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
leftColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
    "return the value of the instance variable 'leftColor' (automatically generated)"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
    ^ leftColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
    "Created: 10.2.1997 / 14:51:34 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
right
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
    "return the right border width"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
    ^ right
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
    "Created: 10.2.1997 / 14:51:34 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    "Modified: 10.2.1997 / 15:39:08 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
rightColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    "return the value of the instance variable 'rightColor' (automatically generated)"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    ^ rightColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
    "Created: 10.2.1997 / 14:51:34 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
setBottom:aSmallInteger
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
    "set the bottom border width"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
    bottom := aSmallInteger
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
    "Created: 10.2.1997 / 15:38:50 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
setBottomColor:aColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
    "set the bottomColor"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
    bottomColor := aColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
    "Created: 10.2.1997 / 15:37:51 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
setLeft:aSmallInteger
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
    "set the left border width"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
    left := aSmallInteger
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
    "Created: 10.2.1997 / 15:39:33 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
setLeftColor:aColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
    "set the leftColor"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
    leftColor := aColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
    "Created: 10.2.1997 / 15:38:02 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
setRight:aSmallInteger
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
    "set the right border width"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
    right := aSmallInteger
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
    "Created: 10.2.1997 / 15:39:44 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
setRightColor:aColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
    "set the rightColor"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
    rightColor := aColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    "Created: 10.2.1997 / 15:38:08 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
setTop:aSmallInteger
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
    "set the top border width"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
    top := aSmallInteger
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
    "Created: 10.2.1997 / 15:39:27 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
setTopColor:aColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
    "set the topColor"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
    topColor := aColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
    "Created: 10.2.1997 / 15:38:17 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
top
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
    "return the top border width"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
    ^ top
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
    "Created: 10.2.1997 / 14:51:34 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
    "Modified: 10.2.1997 / 15:39:11 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
topColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
    "return the value of the instance variable 'topColor' (automatically generated)"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
    ^ topColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
    "Created: 10.2.1997 / 14:51:34 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
! !
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
!Border methodsFor:'displaying'!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
displayOn:aGC forDisplayBox:aRectangle
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
    "display the borders represented by the receiver in the specified rectangle.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
     The gc is restored after the draw."
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
    self displayOn:aGC forDisplayBox:aRectangle using:nil
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
    "Modified: 10.2.1997 / 14:56:10 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
displayOn:aGC forDisplayBox:aRectangle using:colorSource
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
    "display the borders represented by the receiver borders in the given rectangle.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
     colorSource is ignored here, but subclasses (i.e. 3D-borders) may use
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
     it to ask for shadow/lightColors.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
     The gc's state is restored after the drawing."
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
    |clipRectangle paint oldPaint 
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
     t r l b rL rR rT rB rW rH|
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
"/    clipRectangle := aGC clippingBounds.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
"/    ((self insetDisplayBoxFor: aRectangle) contains: clipRectangle) ifTrue: [^self].
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
    oldPaint := aGC paint.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
    r := aRectangle copy.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
    t := self top.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
    l := self left.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
    r := self right.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
    b := self bottom.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
    rL := aRectangle left.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
    rT := aRectangle top.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
    rR := aRectangle right.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
    rB := aRectangle bottom.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
    rH := aRectangle height.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
    rW := aRectangle width.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
    (l ~~ 0 and: [(paint := self leftColor) notNil]) ifTrue:[
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
        aGC paint:paint.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
        aGC displayRectangleX:rL
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
                            y:rT
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
                        width:l
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
                       height:rH + 1 - b
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
    ].
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
    (t ~~ 0 and: [(paint := self topColor) notNil]) ifTrue:[
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
        aGC paint:paint.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
        aGC displayRectangleX:(rL + l)
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
                            y:rT
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
                        width:rW - l
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
                       height:t
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
    ].
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
    (r ~~ 0 and: [(paint := self rightColor) notNil]) ifTrue:[
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
        aGC paint:paint.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
        aGC displayRectangleX:(rR - r)
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
                            y:(rT + t)
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
                        width:r
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
                       height:rH + 1 - t
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
    ].
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
    (b ~~ 0 and: [(paint := self bottomColor) notNil]) ifTrue:[
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
        aGC paint:paint.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
        aGC displayRectangleX:(rL)
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
                            y:(rB + 1 - b)
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
                        width:rW - r
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
                       height:b
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
    ].
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
    aGC paint: oldPaint
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
    "
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
     |v b|
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
     v := StandardSystemView extent:10@10.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
     v openAndWait.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
     b := Border width:2 color:Color red.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
     b displayOn:v forDisplayBox:(0@0 corner:9@9).
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
     Delay waitForSeconds:1.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
     b leftColor:Color blue.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
     b displayOn:v forDisplayBox:(0@0 corner:9@9).
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
     Delay waitForSeconds:1.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
     b topColor:Color green.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
     b displayOn:v forDisplayBox:(0@0 corner:9@9).
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
     Delay waitForSeconds:1.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
     b rightColor:Color magenta.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
     b displayOn:v forDisplayBox:(0@0 corner:9@9).
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
    "
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
    "Modified: 10.2.1997 / 15:30:22 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
! !
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
!Border methodsFor:'private accessing'!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
setBorderWidth:aWidth color:aColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
     left := right := top := bottom := aWidth.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
     leftColor := rightColor := topColor := bottomColor := aColor
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
    "Created: 10.2.1997 / 15:21:27 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
! !
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
!Border methodsFor:'queries'!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
allSidesEqual:aSmallInteger
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
    left ~~ aSmallInteger ifTrue:[^ false].
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
    top ~~ aSmallInteger ifTrue:[^ false].
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
    right ~~ aSmallInteger ifTrue:[^ false].
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
    bottom ~~ aSmallInteger ifTrue:[^ false].
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
    ^ true
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
    "Created: 10.2.1997 / 14:53:13 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
displayBoxFor:aRectangle
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
    "return a rectangle representing the overall display box of a component
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
     bordered by the receiver, which has bounds of aRectangle.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
     That is, the argument outset by the receivers borders."
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
    |insetRectangle|
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
    insetRectangle := aRectangle copy.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
    insetRectangle left:(insetRectangle left - self left).
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
    insetRectangle right:(insetRectangle right + self right).
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
    insetRectangle top:(insetRectangle top - self top).
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
    insetRectangle bottom:(insetRectangle bottom + self bottom).
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
    ^ insetRectangle
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
    "Created: 10.2.1997 / 15:43:00 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
insetDisplayBoxFor:aRectangle
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
    "return a rectangle representing the display box of a component
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
     bordered by the receiver in the outer bounds, aRectangle.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
     That is, the argument inset by the receivers borders."
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
    |insetRectangle|
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
    insetRectangle := aRectangle copy.
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
    insetRectangle left:(insetRectangle left + self left).
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
    insetRectangle right:(insetRectangle right - self right).
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
    insetRectangle top:(insetRectangle top + self top).
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
    insetRectangle bottom:(insetRectangle bottom - self bottom).
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
    ^ insetRectangle
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
    "Created: 10.2.1997 / 15:42:06 / cg"
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
! !
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
!Border class methodsFor:'documentation'!
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
version
1322
b473b0db6399 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1321
diff changeset
   350
    ^ '$Header: /cvs/stx/stx/libview/Border.st,v 1.2 1997-02-10 14:45:30 cg Exp $'
1321
b87667a37eef intitial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
! !