NoteBookFrameView.st
author Claus Gittinger <cg@exept.de>
Thu, 10 Apr 1997 17:55:57 +0200
changeset 354 86c6240e3a7e
parent 344 deae51987b20
child 3150 e3a55f15ef7e
permissions -rw-r--r--
comment
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
344
deae51987b20 intitial checkin
ca
parents:
diff changeset
     1
"
deae51987b20 intitial checkin
ca
parents:
diff changeset
     2
 COPYRIGHT (c) 1997 by eXept Software AG
deae51987b20 intitial checkin
ca
parents:
diff changeset
     3
              All Rights Reserved
deae51987b20 intitial checkin
ca
parents:
diff changeset
     4
deae51987b20 intitial checkin
ca
parents:
diff changeset
     5
 This software is furnished under a license and may be used
deae51987b20 intitial checkin
ca
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
deae51987b20 intitial checkin
ca
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
deae51987b20 intitial checkin
ca
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
deae51987b20 intitial checkin
ca
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
deae51987b20 intitial checkin
ca
parents:
diff changeset
    10
 hereby transferred.
deae51987b20 intitial checkin
ca
parents:
diff changeset
    11
"
deae51987b20 intitial checkin
ca
parents:
diff changeset
    12
deae51987b20 intitial checkin
ca
parents:
diff changeset
    13
deae51987b20 intitial checkin
ca
parents:
diff changeset
    14
deae51987b20 intitial checkin
ca
parents:
diff changeset
    15
deae51987b20 intitial checkin
ca
parents:
diff changeset
    16
SimpleView subclass:#NoteBookFrameView
deae51987b20 intitial checkin
ca
parents:
diff changeset
    17
	instanceVariableNames:''
deae51987b20 intitial checkin
ca
parents:
diff changeset
    18
	classVariableNames:''
deae51987b20 intitial checkin
ca
parents:
diff changeset
    19
	poolDictionaries:''
deae51987b20 intitial checkin
ca
parents:
diff changeset
    20
	category:'Views-Misc'
deae51987b20 intitial checkin
ca
parents:
diff changeset
    21
!
deae51987b20 intitial checkin
ca
parents:
diff changeset
    22
deae51987b20 intitial checkin
ca
parents:
diff changeset
    23
!NoteBookFrameView class methodsFor:'documentation'!
deae51987b20 intitial checkin
ca
parents:
diff changeset
    24
deae51987b20 intitial checkin
ca
parents:
diff changeset
    25
copyright
deae51987b20 intitial checkin
ca
parents:
diff changeset
    26
"
deae51987b20 intitial checkin
ca
parents:
diff changeset
    27
 COPYRIGHT (c) 1997 by eXept Software AG
deae51987b20 intitial checkin
ca
parents:
diff changeset
    28
              All Rights Reserved
deae51987b20 intitial checkin
ca
parents:
diff changeset
    29
deae51987b20 intitial checkin
ca
parents:
diff changeset
    30
 This software is furnished under a license and may be used
deae51987b20 intitial checkin
ca
parents:
diff changeset
    31
 only in accordance with the terms of that license and with the
deae51987b20 intitial checkin
ca
parents:
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
deae51987b20 intitial checkin
ca
parents:
diff changeset
    33
 be provided or otherwise made available to, or used by, any
deae51987b20 intitial checkin
ca
parents:
diff changeset
    34
 other person.  No title to or ownership of the software is
deae51987b20 intitial checkin
ca
parents:
diff changeset
    35
 hereby transferred.
deae51987b20 intitial checkin
ca
parents:
diff changeset
    36
"
deae51987b20 intitial checkin
ca
parents:
diff changeset
    37
deae51987b20 intitial checkin
ca
parents:
diff changeset
    38
deae51987b20 intitial checkin
ca
parents:
diff changeset
    39
deae51987b20 intitial checkin
ca
parents:
diff changeset
    40
!
deae51987b20 intitial checkin
ca
parents:
diff changeset
    41
deae51987b20 intitial checkin
ca
parents:
diff changeset
    42
documentation
deae51987b20 intitial checkin
ca
parents:
diff changeset
    43
"
deae51987b20 intitial checkin
ca
parents:
diff changeset
    44
    this view is used as the bottom part of a notebook,
deae51987b20 intitial checkin
ca
parents:
diff changeset
    45
    in which the selected subCanvas is drawn.
deae51987b20 intitial checkin
ca
parents:
diff changeset
    46
    Its only reason for existance is to redefine the
deae51987b20 intitial checkin
ca
parents:
diff changeset
    47
    border drawing to NOT draw the top border.
354
86c6240e3a7e comment
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
    48
86c6240e3a7e comment
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
    49
    [author:]
86c6240e3a7e comment
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
    50
        Claus Gittinger
86c6240e3a7e comment
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
    51
86c6240e3a7e comment
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
    52
    [see also:]
86c6240e3a7e comment
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
    53
        NoteBookView TabView
344
deae51987b20 intitial checkin
ca
parents:
diff changeset
    54
"
deae51987b20 intitial checkin
ca
parents:
diff changeset
    55
! !
deae51987b20 intitial checkin
ca
parents:
diff changeset
    56
deae51987b20 intitial checkin
ca
parents:
diff changeset
    57
!NoteBookFrameView methodsFor:'drawing'!
deae51987b20 intitial checkin
ca
parents:
diff changeset
    58
deae51987b20 intitial checkin
ca
parents:
diff changeset
    59
drawEdgesForX:x y:y width:w height:h level:l 
deae51987b20 intitial checkin
ca
parents:
diff changeset
    60
                shadow:shadowColor light:lightColor
deae51987b20 intitial checkin
ca
parents:
diff changeset
    61
                halfShadow:halfShadowColor halfLight:halfLightColor
deae51987b20 intitial checkin
ca
parents:
diff changeset
    62
                style:edgeStyle
deae51987b20 intitial checkin
ca
parents:
diff changeset
    63
deae51987b20 intitial checkin
ca
parents:
diff changeset
    64
    "draw 3D edges into a rectangle, but NOT the top edge"
deae51987b20 intitial checkin
ca
parents:
diff changeset
    65
deae51987b20 intitial checkin
ca
parents:
diff changeset
    66
    |topLeftFg botRightFg topLeftHalfFg botRightHalfFg
deae51987b20 intitial checkin
ca
parents:
diff changeset
    67
     count "{ Class: SmallInteger }"
deae51987b20 intitial checkin
ca
parents:
diff changeset
    68
     r     "{ Class: SmallInteger }"
deae51987b20 intitial checkin
ca
parents:
diff changeset
    69
     b     "{ Class: SmallInteger }"
deae51987b20 intitial checkin
ca
parents:
diff changeset
    70
     xi    "{ Class: SmallInteger }"
deae51987b20 intitial checkin
ca
parents:
diff changeset
    71
     yi    "{ Class: SmallInteger }"
deae51987b20 intitial checkin
ca
parents:
diff changeset
    72
     run paint|
deae51987b20 intitial checkin
ca
parents:
diff changeset
    73
deae51987b20 intitial checkin
ca
parents:
diff changeset
    74
    count := l.
deae51987b20 intitial checkin
ca
parents:
diff changeset
    75
    (count < 0) ifTrue:[
deae51987b20 intitial checkin
ca
parents:
diff changeset
    76
        topLeftFg := shadowColor.
deae51987b20 intitial checkin
ca
parents:
diff changeset
    77
        botRightFg := lightColor.
deae51987b20 intitial checkin
ca
parents:
diff changeset
    78
        topLeftHalfFg := halfShadowColor.
deae51987b20 intitial checkin
ca
parents:
diff changeset
    79
        botRightHalfFg := halfLightColor.
deae51987b20 intitial checkin
ca
parents:
diff changeset
    80
        count := count negated
deae51987b20 intitial checkin
ca
parents:
diff changeset
    81
    ] ifFalse:[
deae51987b20 intitial checkin
ca
parents:
diff changeset
    82
        topLeftFg := lightColor.
deae51987b20 intitial checkin
ca
parents:
diff changeset
    83
        botRightFg := shadowColor.
deae51987b20 intitial checkin
ca
parents:
diff changeset
    84
        topLeftHalfFg := halfLightColor.
deae51987b20 intitial checkin
ca
parents:
diff changeset
    85
        botRightHalfFg := halfShadowColor.
deae51987b20 intitial checkin
ca
parents:
diff changeset
    86
    ].
deae51987b20 intitial checkin
ca
parents:
diff changeset
    87
    topLeftHalfFg isNil ifTrue:[
deae51987b20 intitial checkin
ca
parents:
diff changeset
    88
        topLeftHalfFg := topLeftFg
deae51987b20 intitial checkin
ca
parents:
diff changeset
    89
    ].
deae51987b20 intitial checkin
ca
parents:
diff changeset
    90
    botRightHalfFg isNil ifTrue:[
deae51987b20 intitial checkin
ca
parents:
diff changeset
    91
        botRightHalfFg := botRightFg
deae51987b20 intitial checkin
ca
parents:
diff changeset
    92
    ].
deae51987b20 intitial checkin
ca
parents:
diff changeset
    93
deae51987b20 intitial checkin
ca
parents:
diff changeset
    94
    r := x + w - 1. "right"
deae51987b20 intitial checkin
ca
parents:
diff changeset
    95
    b := y + h - 1. "bottom"
deae51987b20 intitial checkin
ca
parents:
diff changeset
    96
deae51987b20 intitial checkin
ca
parents:
diff changeset
    97
    self lineWidth:0.
deae51987b20 intitial checkin
ca
parents:
diff changeset
    98
deae51987b20 intitial checkin
ca
parents:
diff changeset
    99
    "top and left edges"
deae51987b20 intitial checkin
ca
parents:
diff changeset
   100
    ((edgeStyle == #soft) and:["l" count > 0]) ifTrue:[
deae51987b20 intitial checkin
ca
parents:
diff changeset
   101
        paint := topLeftHalfFg
deae51987b20 intitial checkin
ca
parents:
diff changeset
   102
    ] ifFalse:[
deae51987b20 intitial checkin
ca
parents:
diff changeset
   103
        paint := topLeftFg
deae51987b20 intitial checkin
ca
parents:
diff changeset
   104
    ].
deae51987b20 intitial checkin
ca
parents:
diff changeset
   105
    self paint:paint.
deae51987b20 intitial checkin
ca
parents:
diff changeset
   106
deae51987b20 intitial checkin
ca
parents:
diff changeset
   107
    0 to:(count - 1) do:[:i |
deae51987b20 intitial checkin
ca
parents:
diff changeset
   108
        run := y + i.
deae51987b20 intitial checkin
ca
parents:
diff changeset
   109
        run := x + i.
deae51987b20 intitial checkin
ca
parents:
diff changeset
   110
        self displayDeviceLineFromX:run y:y toX:run y:b  "left"
deae51987b20 intitial checkin
ca
parents:
diff changeset
   111
    ].
deae51987b20 intitial checkin
ca
parents:
diff changeset
   112
    (edgeStyle == #soft) ifTrue:[
deae51987b20 intitial checkin
ca
parents:
diff changeset
   113
"
deae51987b20 intitial checkin
ca
parents:
diff changeset
   114
        self paint:topLeftFg.
deae51987b20 intitial checkin
ca
parents:
diff changeset
   115
        self displayDeviceLineFromX:x y:y toX:r y:y. 
deae51987b20 intitial checkin
ca
parents:
diff changeset
   116
        self displayDeviceLineFromX:x y:y toX:x y:b        
deae51987b20 intitial checkin
ca
parents:
diff changeset
   117
"
deae51987b20 intitial checkin
ca
parents:
diff changeset
   118
        (l > 2) ifTrue:[
deae51987b20 intitial checkin
ca
parents:
diff changeset
   119
            self paint:(device blackColor).
deae51987b20 intitial checkin
ca
parents:
diff changeset
   120
            self displayDeviceLineFromX:x y:y toX:x y:b. 
deae51987b20 intitial checkin
ca
parents:
diff changeset
   121
        ]
deae51987b20 intitial checkin
ca
parents:
diff changeset
   122
    ].
deae51987b20 intitial checkin
ca
parents:
diff changeset
   123
deae51987b20 intitial checkin
ca
parents:
diff changeset
   124
    xi := x + 1.
deae51987b20 intitial checkin
ca
parents:
diff changeset
   125
    yi := y + 1.
deae51987b20 intitial checkin
ca
parents:
diff changeset
   126
deae51987b20 intitial checkin
ca
parents:
diff changeset
   127
"/ does not look good
deae51987b20 intitial checkin
ca
parents:
diff changeset
   128
"/ style == #st80 iftrue:[
deae51987b20 intitial checkin
ca
parents:
diff changeset
   129
"/  yi := yi + 1
deae51987b20 intitial checkin
ca
parents:
diff changeset
   130
"/ ].
deae51987b20 intitial checkin
ca
parents:
diff changeset
   131
deae51987b20 intitial checkin
ca
parents:
diff changeset
   132
    "bottom and right edges"
deae51987b20 intitial checkin
ca
parents:
diff changeset
   133
    (edgeStyle == #soft "new:" and:[count > 1]) ifTrue:[
deae51987b20 intitial checkin
ca
parents:
diff changeset
   134
        paint := botRightHalfFg
deae51987b20 intitial checkin
ca
parents:
diff changeset
   135
    ] ifFalse:[
deae51987b20 intitial checkin
ca
parents:
diff changeset
   136
        paint := botRightFg
deae51987b20 intitial checkin
ca
parents:
diff changeset
   137
    ].
deae51987b20 intitial checkin
ca
parents:
diff changeset
   138
deae51987b20 intitial checkin
ca
parents:
diff changeset
   139
    self paint:paint.
deae51987b20 intitial checkin
ca
parents:
diff changeset
   140
    0 to:(count - 1) do:[:i |
deae51987b20 intitial checkin
ca
parents:
diff changeset
   141
        run := b - i.
deae51987b20 intitial checkin
ca
parents:
diff changeset
   142
        self displayDeviceLineFromX:xi-1 y:run toX:r y:run. "bottom"
deae51987b20 intitial checkin
ca
parents:
diff changeset
   143
        run := r - i.
deae51987b20 intitial checkin
ca
parents:
diff changeset
   144
        self displayDeviceLineFromX:run y:yi-1 toX:run y:b.  "right"
deae51987b20 intitial checkin
ca
parents:
diff changeset
   145
        xi := xi + 1.
deae51987b20 intitial checkin
ca
parents:
diff changeset
   146
        yi := yi + 1
deae51987b20 intitial checkin
ca
parents:
diff changeset
   147
    ].
deae51987b20 intitial checkin
ca
parents:
diff changeset
   148
    ((edgeStyle == #soft) and:[l > 1]) ifTrue:[
deae51987b20 intitial checkin
ca
parents:
diff changeset
   149
        self paint:(device blackColor) "shadowColor".
deae51987b20 intitial checkin
ca
parents:
diff changeset
   150
        self displayDeviceLineFromX:(x + (1 - 1)) y:b toX:r y:b. 
deae51987b20 intitial checkin
ca
parents:
diff changeset
   151
        self displayDeviceLineFromX:r y:(y + (1 - 1)) toX:r y:b        
deae51987b20 intitial checkin
ca
parents:
diff changeset
   152
    ].
deae51987b20 intitial checkin
ca
parents:
diff changeset
   153
deae51987b20 intitial checkin
ca
parents:
diff changeset
   154
    self edgeDrawn:#all
deae51987b20 intitial checkin
ca
parents:
diff changeset
   155
deae51987b20 intitial checkin
ca
parents:
diff changeset
   156
    "Modified: 7.3.1997 / 17:59:19 / cg"
deae51987b20 intitial checkin
ca
parents:
diff changeset
   157
deae51987b20 intitial checkin
ca
parents:
diff changeset
   158
deae51987b20 intitial checkin
ca
parents:
diff changeset
   159
!
deae51987b20 intitial checkin
ca
parents:
diff changeset
   160
deae51987b20 intitial checkin
ca
parents:
diff changeset
   161
drawTopEdgeLevel:level shadow:shadowColor light:lightColor halfShadow:halfShadowColor halfLight:halfLightColor style:edgeStyle 
deae51987b20 intitial checkin
ca
parents:
diff changeset
   162
    "does NOT draw the top edge"
deae51987b20 intitial checkin
ca
parents:
diff changeset
   163
deae51987b20 intitial checkin
ca
parents:
diff changeset
   164
    ^ self
deae51987b20 intitial checkin
ca
parents:
diff changeset
   165
deae51987b20 intitial checkin
ca
parents:
diff changeset
   166
! !
deae51987b20 intitial checkin
ca
parents:
diff changeset
   167
deae51987b20 intitial checkin
ca
parents:
diff changeset
   168
!NoteBookFrameView class methodsFor:'documentation'!
deae51987b20 intitial checkin
ca
parents:
diff changeset
   169
deae51987b20 intitial checkin
ca
parents:
diff changeset
   170
version
354
86c6240e3a7e comment
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   171
    ^ '$Header: /cvs/stx/stx/libwidg2/NoteBookFrameView.st,v 1.2 1997-04-10 15:55:57 cg Exp $'
344
deae51987b20 intitial checkin
ca
parents:
diff changeset
   172
! !