DSVLabelView.st
author ca
Mon, 05 Jan 1998 16:56:01 +0100
changeset 648 1d77d0c9e58a
parent 640 ce20854eba47
child 824 d2e60c8ac775
permissions -rw-r--r--
check for isEditing
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     1
"
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     2
 COPYRIGHT (c) 1997 by Claus Gittinger / eXept Software AG
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     3
              All Rights Reserved
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     4
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     5
 This software is furnished under a license and may be used
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    10
 hereby transferred.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    11
"
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    12
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    13
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    14
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    15
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    16
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    17
Label subclass:#DSVLabelView
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    18
	instanceVariableNames:'selector argument'
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    19
	classVariableNames:''
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    20
	poolDictionaries:''
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    21
	category:'Views-DataSet'
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    22
!
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    23
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    24
!DSVLabelView class methodsFor:'documentation'!
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    25
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    26
copyright
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    27
"
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    28
 COPYRIGHT (c) 1997 by Claus Gittinger / eXept Software AG
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    29
              All Rights Reserved
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    30
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    31
 This software is furnished under a license and may be used
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    32
 only in accordance with the terms of that license and with the
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    33
 inclusion of the above copyright notice.   This software may not
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    34
 be provided or otherwise made available to, or used by, any
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    35
 other person.  No title to or ownership of the software is
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    36
 hereby transferred.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    37
"
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    38
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    39
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    40
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    41
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    42
!
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    43
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    44
documentation
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    45
"
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    46
    shows the labels assigned to the column descriptions. Used by the
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    47
    DataSetView
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    48
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    49
    [Instance variables:]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    50
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    51
        columnView      <DSVColumnView> column view which shows the columns
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    52
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    53
    [author:]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    54
        Claus Atzkern
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    55
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    56
    [see also:]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    57
        DSVColumnView
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    58
        DataSetColumnSpec
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    59
        DataSetColumn
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    60
        DataSetView
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    61
"
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    62
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    63
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    64
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    65
! !
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    66
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    67
!DSVLabelView class methodsFor:'instance creation'!
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    68
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    69
column:aColumn in:aDataSetView
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    70
    "create a new label in a dataSetView
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    71
    "
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    72
    |lbl|
562
b7db6629f2cf recompute height from column labels
ca
parents: 560
diff changeset
    73
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    74
    lbl := self in:aDataSetView.
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    75
    lbl column:aColumn.
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    76
  ^ lbl
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    77
! !
562
b7db6629f2cf recompute height from column labels
ca
parents: 560
diff changeset
    78
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    79
!DSVLabelView methodsFor:'accessing'!
562
b7db6629f2cf recompute height from column labels
ca
parents: 560
diff changeset
    80
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    81
backgroundColor:aColor
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    82
    "set the background color
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    83
    "
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    84
    aColor ~~ bgColor ifTrue:[
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    85
        bgColor := aColor on:device.
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    86
        super viewBackground:bgColor.
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    87
        shown ifTrue:[self invalidate]
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    88
    ]
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    89
562
b7db6629f2cf recompute height from column labels
ca
parents: 560
diff changeset
    90
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    91
! !
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    92
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    93
!DSVLabelView methodsFor:'event handling'!
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    94
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    95
buttonPress:button x:x y:y
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    96
    "button is pressed
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    97
    "
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    98
    (button == 1 and:[selector notNil]) ifTrue:[
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
    99
        self level:-2
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   100
    ] ifFalse:[
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   101
        super buttonPress:button x:x y:y
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   102
    ]
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   103
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   104
!
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   105
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   106
buttonRelease:button x:x y:y
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   107
    "button is released; perform action
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   108
    "
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   109
    |application|
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   110
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   111
    selector notNil ifTrue:[
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   112
        self level:1.
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   113
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   114
        (x < 0 or:[x > width or:[y < 0 or:[y > height]]]) ifFalse:[
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   115
            (application := self application) notNil ifTrue:[
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   116
                argument notNil ifTrue:[
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   117
                    application perform:selector with:argument
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   118
                ] ifFalse:[
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   119
                    application perform:selector
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   120
                ]
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   121
            ]
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   122
        ]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   123
    ].
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   124
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   125
! !
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   126
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   127
!DSVLabelView methodsFor:'initialize / release'!
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   128
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   129
column:aColumn
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   130
    |label|
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   131
648
1d77d0c9e58a check for isEditing
ca
parents: 640
diff changeset
   132
    fixSize := false.
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   133
    label   := aColumn label.
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   134
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   135
    (selector := aColumn labelActionSelector) notNil ifTrue:[
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   136
        selector numArgs ~~ 0 ifTrue:[
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   137
            (argument := aColumn labelActionArgument) isNil ifTrue:[
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   138
                argument := label
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   139
            ]
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   140
        ]
560
bdd3bad699a9 check whether labels exists
ca
parents: 542
diff changeset
   141
    ].
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   142
637
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   143
    aColumn labelFont notNil ifTrue:[
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   144
         self font:(aColumn labelFont)
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   145
    ].
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   146
    aColumn labelBackgroundColor notNil ifTrue:[
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   147
         self backgroundColor:(aColumn labelBackgroundColor)
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   148
    ].
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   149
    aColumn labelForegroundColor notNil ifTrue:[
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   150
         self foregroundColor:(aColumn labelForegroundColor)
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   151
    ].
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   152
    self adjust:(aColumn labelAlignment).
e56ec99923ae VW compatible
ca
parents: 620
diff changeset
   153
    self label:label.
640
ce20854eba47 add level to empty label
tz
parents: 637
diff changeset
   154
    self level:1
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   155
! !
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   156
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   157
!DSVLabelView class methodsFor:'documentation'!
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   158
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   159
version
648
1d77d0c9e58a check for isEditing
ca
parents: 640
diff changeset
   160
    ^ '$Header: /cvs/stx/stx/libwidg2/DSVLabelView.st,v 1.11 1998-01-05 15:56:01 ca Exp $'
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   161
! !