ArrowButton.st
author Claus Gittinger <cg@exept.de>
Fri, 17 Jan 1997 23:27:31 +0100
changeset 959 331da6bc19ec
parent 926 279927abd911
child 966 824e0ecc0e6f
permissions -rw-r--r--
commentary
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
     1
"
3ebee08bea15 Initial revision
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1993 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
     3
	      All Rights Reserved
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
     4
3ebee08bea15 Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
3ebee08bea15 Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
3ebee08bea15 Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
3ebee08bea15 Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
3ebee08bea15 Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
3ebee08bea15 Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
3ebee08bea15 Initial revision
claus
parents:
diff changeset
    11
"
3ebee08bea15 Initial revision
claus
parents:
diff changeset
    12
3ebee08bea15 Initial revision
claus
parents:
diff changeset
    13
Button subclass:#ArrowButton
440
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
    14
	instanceVariableNames:'arrowStyle'
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
    15
	classVariableNames:'DownArrowForm UpArrowForm LeftArrowForm RightArrowForm
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
    16
		CachedStyle DefaultArrowStyle DefaultBackgroundColor
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
    17
		DefaultForegroundColor DefaultActiveBackgroundColor
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
    18
		DefaultActiveForegroundColor DefaultEnteredBackgroundColor
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
    19
		DefaultEnteredForegroundColor DefaultDisabledForegroundColor
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
    20
		DefaultArrowButtonActiveLevel DefaultArrowButtonPassiveLevel
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
    21
		DownArrowFormFile UpArrowFormFile LeftArrowFormFile
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
    22
		RightArrowFormFile'
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
    23
	poolDictionaries:''
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
    24
	category:'Views-Interactors'
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
    25
!
3ebee08bea15 Initial revision
claus
parents:
diff changeset
    26
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
    27
!ArrowButton class methodsFor:'documentation'!
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    28
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    29
copyright
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    30
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    31
 COPYRIGHT (c) 1993 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    32
	      All Rights Reserved
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    33
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    34
 This software is furnished under a license and may be used
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    35
 only in accordance with the terms of that license and with the
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    36
 inclusion of the above copyright notice.   This software may not
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    37
 be provided or otherwise made available to, or used by, any
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    38
 other person.  No title to or ownership of the software is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    39
 hereby transferred.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    40
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    41
!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    42
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    43
documentation
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    44
"
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    45
    ArrowButtons display an arrow as their label; they are mainly
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    46
    used for scrollbars, but can be useful on their own in some applications.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    47
    Beside the contents, their default behavior is to perform their action
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    48
    when pressed - not (as is the default for normal buttons) when released.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    49
65
b33e4f3a264e *** empty log message ***
claus
parents: 62
diff changeset
    50
    Indivdual ArrowButtons can be created by sending one of:
580
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    51
            ArrowButton upIn:aView /downIn: / leftIn: or rightIn:
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    52
    passing the parent view as argument.
65
b33e4f3a264e *** empty log message ***
claus
parents: 62
diff changeset
    53
130
claus
parents: 128
diff changeset
    54
    See examples.
claus
parents: 128
diff changeset
    55
580
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    56
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    57
    [styleSheet parameters:]
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    58
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    59
        arrowButtonStyle            <Symbol>        the style of the button;
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    60
                                                    #motif, #st80 or nil (default)
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    61
        arrowButtonForegroundColor  <nil | Color>   foregroundColor 
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    62
        arrowButtonBackgroundColor  <nil | Color>   backgroundColor 
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    63
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    64
        arrowButtonActiveForegroundColor            foregroundColor when pressed
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    65
        arrowButtonActiveBackgroundColor            backgroundColor when pressed
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    66
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    67
        arrowButtonEnteredForegroundColor           foregroundColor when mouse pointer entered
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    68
        arrowButtonEnteredBackgroundColor           backgroundColor when mouse pointer entered
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    69
585
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    70
    [author:]
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    71
        Claus Gittinger
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 580
diff changeset
    72
580
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    73
    [See also:]
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    74
         Button  Toggle CheckToggle CheckBox
a31ba5bcc4c0 commentary
Claus Gittinger <cg@exept.de>
parents: 440
diff changeset
    75
         ScrollBar
130
claus
parents: 128
diff changeset
    76
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    77
"
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    78
!
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
    79
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    80
examples 
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    81
"
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    82
    example1:
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    83
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    84
        |v p b1 b2 b3 b4|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    85
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    86
        v := StandardSystemView extent:200@200.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    87
        p := HorizontalPanelView origin:0.0 @ 0.0 corner:1.0 @ 1.0 in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    88
        b1 := ArrowButton upIn:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    89
        b2 := ArrowButton downIn:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    90
        b3 := ArrowButton leftIn:p.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    91
        b4 := ArrowButton rightIn:p.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    92
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    93
        b1 action:['whatEver you like here ...'].
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    94
        b2 action:['whatEver you like here ...'].
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    95
        b3 action:['whatEver you like here ...'].
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    96
        b4 action:['whatEver you like here ...'].
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
    97
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    98
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    99
                                                                        [exEnd]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   100
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   101
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   102
    example2:
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   103
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   104
        |v p b1 b2 b3 b4|
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   105
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   106
        v := StandardSystemView extent:200@200.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   107
        p := HorizontalPanelView origin:0.0 @ 0.0 corner:1.0 @ 1.0 in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   108
        b1 := (ArrowButton upIn:p) extent:30@30.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   109
        b2 := (ArrowButton downIn:p) extent:30@30.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   110
        b3 := (ArrowButton leftIn:p) extent:30@30.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   111
        b4 := (ArrowButton rightIn:p) extent:30@30.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   112
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   113
        b1 action:['whatEver you like here ...'].
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   114
        b2 action:['whatEver you like here ...'].
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   115
        b3 action:['whatEver you like here ...'].
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   116
        b4 action:['whatEver you like here ...'].
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   117
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   118
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   119
                                                                        [exEnd]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   120
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   121
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   122
    example3:
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   123
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   124
        |v p b1 b2 b3 b4|
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   125
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   126
        v := StandardSystemView extent:200@200.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   127
        p := View origin:0.0 @ 0.0 corner:1.0 @ 1.0 in:v.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   128
        b1 := (ArrowButton upIn:p) origin:(0.33 @ 0.0) corner:(0.67 @ 0.33).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   129
        b3 := (ArrowButton leftIn:p) origin:(0.0 @ 0.33) corner:(0.33 @ 0.67).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   130
        b4 := (ArrowButton rightIn:p) origin:(0.67 @ 0.33) corner:(1.0 @ 0.67).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   131
        b2 := (ArrowButton downIn:p) origin:(0.33 @ 0.67) corner:(0.67 @ 1.0).
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   132
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   133
        b1 action:['whatEver you like here ...'].
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   134
        b2 action:['whatEver you like here ...'].
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   135
        b3 action:['whatEver you like here ...'].
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   136
        b4 action:['whatEver you like here ...'].
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   137
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   138
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   139
                                                                        [exEnd]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   140
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   141
65
b33e4f3a264e *** empty log message ***
claus
parents: 62
diff changeset
   142
    example4 (not good coding style, to explicitely use a particular style,
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   143
              just a demonstration how it looks ..):
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   144
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   145
        |v p b1 b2 b3 b4 oldStyle|
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   146
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   147
        oldStyle := View defaultStyle.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   148
        View defaultStyle:#motif.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   149
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   150
        v := StandardSystemView extent:100@100.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   151
        p := View origin:0.0 @ 0.0 corner:1.0 @ 1.0 in:v.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   152
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   153
        b1 := (ArrowButton upIn:p) origin:(0.33 @ 0.0) corner:(0.67 @ 0.33).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   154
        b3 := (ArrowButton leftIn:p) origin:(0.0 @ 0.33) corner:(0.33 @ 0.67).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   155
        b4 := (ArrowButton rightIn:p) origin:(0.67 @ 0.33) corner:(1.0 @ 0.67).
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   156
        b2 := (ArrowButton downIn:p) origin:(0.33 @ 0.67) corner:(0.67 @ 1.0).
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   157
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   158
        b1 action:['whatEver you like here ...'].
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   159
        b2 action:['whatEver you like here ...'].
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   160
        b3 action:['whatEver you like here ...'].
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   161
        b4 action:['whatEver you like here ...'].
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   162
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   163
        View defaultStyle:oldStyle.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   164
        v open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   165
                                                                        [exEnd]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   166
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   167
! !
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   168
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   169
!ArrowButton class methodsFor:'instance creation'!
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   170
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   171
downIn:aView
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   172
    ^ (super in:aView) direction:#down
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   173
!
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   174
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   175
leftIn:aView
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   176
    ^ (super in:aView) direction:#left
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   177
!
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   178
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   179
rightIn:aView
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   180
    ^ (super in:aView) direction:#right
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   181
!
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   182
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   183
upIn:aView
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   184
    ^ (super in:aView) direction:#up
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   185
! !
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   186
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   187
!ArrowButton class methodsFor:'defaults'!
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   188
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   189
downArrowButtonForm:style on:aDevice
959
331da6bc19ec commentary
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   190
    "return the form used for the scrollDown Button"
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   191
923
a6ee1a239fc0 resource spec updated; cache device form
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   192
    <resource: #style (#arrowButtonDownForm)>
a6ee1a239fc0 resource spec updated; cache device form
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   193
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   194
    |form|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   195
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   196
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   197
     use cached form, if device is appropriate
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   198
    "
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   199
    CachedStyle ~~ style ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   200
        UpArrowForm := DownArrowForm := LeftArrowForm := RightArrowForm := nil
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   201
    ].
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   202
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   203
    ((aDevice == Display) and:[DownArrowForm notNil]) ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   204
        ^ DownArrowForm
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   205
    ].
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   206
154
claus
parents: 153
diff changeset
   207
    DownArrowForm := StyleSheet at:'arrowButtonDownForm' default:nil.
claus
parents: 153
diff changeset
   208
    DownArrowForm notNil ifTrue:[
925
Claus Gittinger <cg@exept.de>
parents: 923
diff changeset
   209
        ^ DownArrowForm
154
claus
parents: 153
diff changeset
   210
    ].
claus
parents: 153
diff changeset
   211
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   212
    "
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   213
     special treatment for st80 arrows 
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   214
     - they do not really fit into the general (bitmap) scheme ...
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   215
     (i.e. they are computed instead of drawn from a bitmap)
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   216
    "
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   217
    style ~~ #st80 ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   218
        DownArrowFormFile notNil ifTrue:[
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   219
            form := Image fromFile:DownArrowFormFile resolution:100 on:aDevice.
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   220
            form isNil ifTrue:[
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   221
                form := Image fromFile:('bitmaps/' , DownArrowFormFile) resolution:100 on:aDevice.
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   222
                form isNil ifTrue:[
926
279927abd911 new infoMessage scheme
Claus Gittinger <cg@exept.de>
parents: 925
diff changeset
   223
                    'ArrowButton [info]: no bitmapFile: ' infoPrint. DownArrowFormFile infoPrintCR.
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   224
                ]
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   225
            ]
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   226
        ]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   227
    ].
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   228
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   229
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   230
     form to use as a fallback, if no bitmap file is present
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   231
     (actually not really needed - just to show something useful, in
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   232
      case of a bad installation)
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   233
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   234
    form isNil ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   235
        style == #st80 ifTrue:[
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   236
            form := Form width:9 height:9 depth:1 on:Display.
270
aa6a36e199e7 be tolerant in case form creation fails
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   237
            form isNil ifTrue:[^ nil].
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   238
            form clear.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   239
            form lineWidth:2.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   240
            form capStyle:#round.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   241
            form paint:(Color colorId:1).
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   242
            form displayLineFromX:0 y:2 toX:4 y:6.
901
fb2ed5eaaa37 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
   243
            form displayLineFromX:4 y:6 toX:8 y:2.
fb2ed5eaaa37 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
   244
            form beImmediateForm.
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   245
        ] ifFalse:[
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   246
            form  := Form width:16 height:16 
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   247
                          fromArray:#[2r00000000 2r00000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   248
                                      2r00001111 2r11110000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   249
                                      2r00001000 2r00010000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   250
                                      2r00001000 2r00010000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   251
                                      2r00001000 2r00010000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   252
                                      2r00001000 2r00010000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   253
                                      2r00001000 2r00010000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   254
                                      2r01111000 2r00011110
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   255
                                      2r01000000 2r00000010
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   256
                                      2r00100000 2r00000100
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   257
                                      2r00010000 2r00001000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   258
                                      2r00001000 2r00010000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   259
                                      2r00000100 2r00100000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   260
                                      2r00000010 2r01000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   261
                                      2r00000001 2r10000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   262
                                      2r00000000 2r00000000]
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   263
                         on:aDevice.
270
aa6a36e199e7 be tolerant in case form creation fails
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   264
            form isNil ifTrue:[^ nil].
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   265
        ].
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   266
    ].
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   267
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   268
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   269
     remember form for next use
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   270
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   271
    (aDevice == Display) ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   272
        CachedStyle := style.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   273
        DownArrowForm := form
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   274
    ].
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   275
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   276
    ^ form
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   277
959
331da6bc19ec commentary
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   278
    "Modified: 17.1.1997 / 23:15:17 / cg"
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   279
!
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   280
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   281
leftArrowButtonForm:style on:aDevice
959
331da6bc19ec commentary
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   282
    "return the form used for the scrollLeft Button"
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   283
923
a6ee1a239fc0 resource spec updated; cache device form
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   284
    <resource: #style (#arrowButtonLeftForm)>
a6ee1a239fc0 resource spec updated; cache device form
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   285
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   286
    |form|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   287
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   288
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   289
     use cached form, if device is appropriate
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   290
    "
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   291
    CachedStyle ~~ style ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   292
        UpArrowForm := DownArrowForm := LeftArrowForm := RightArrowForm := nil
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   293
    ].
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   294
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   295
    ((aDevice == Display) and:[LeftArrowForm notNil]) ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   296
        ^ LeftArrowForm
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   297
    ].
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   298
154
claus
parents: 153
diff changeset
   299
    LeftArrowForm := StyleSheet at:'arrowButtonLeftForm' default:nil.
claus
parents: 153
diff changeset
   300
    LeftArrowForm notNil ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   301
        ^ LeftArrowForm
154
claus
parents: 153
diff changeset
   302
    ].
claus
parents: 153
diff changeset
   303
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   304
    "
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   305
     special treatment for st80 arrows 
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   306
     - they do not really fit into the general (bitmap) scheme ...
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   307
     (i.e. they are computed instead of drawn from a bitmap)
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   308
    "
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   309
    style ~~ #st80 ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   310
        LeftArrowFormFile notNil ifTrue:[
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   311
            form := Image fromFile:LeftArrowFormFile resolution:100 on:aDevice.
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   312
            form isNil ifTrue:[
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   313
                form := Image fromFile:'bitmaps/' , LeftArrowFormFile resolution:100 on:aDevice.
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   314
                form isNil ifTrue:[
926
279927abd911 new infoMessage scheme
Claus Gittinger <cg@exept.de>
parents: 925
diff changeset
   315
                    'ArrowButton [info]: no bitmapFile: ' infoPrint. LeftArrowFormFile infoPrintCR.
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   316
                ]
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   317
            ]
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   318
        ]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   319
    ].
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   320
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   321
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   322
     form to use as a fallback, if no bitmap file is present
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   323
     (actually not really needed - just to show something useful, in
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   324
      case of a bad installation)
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   325
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   326
    form isNil ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   327
        style == #st80 ifTrue:[
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   328
            form := Form width:9 height:9 depth:1 on:Display.
270
aa6a36e199e7 be tolerant in case form creation fails
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   329
            form isNil ifTrue:[^ nil].
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   330
            form clear.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   331
            form lineWidth:2.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   332
            form capStyle:#round.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   333
            form paint:(Color colorId:1).
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   334
            form displayLineFromX:6 y:0 toX:2 y:4.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   335
            form displayLineFromX:2 y:4 toX:6 y:8.
901
fb2ed5eaaa37 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
   336
            form beImmediateForm.
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   337
        ] ifFalse:[
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   338
            form := Form width:16 height:16 
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   339
                         fromArray:#[2r00000000 2r00000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   340
                                     2r00000001 2r10000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   341
                                     2r00000010 2r10000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   342
                                     2r00000100 2r10000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   343
                                     2r00001000 2r11111110
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   344
                                     2r00010000 2r00000010
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   345
                                     2r00100000 2r00000010
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   346
                                     2r01000000 2r00000010
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   347
                                     2r01000000 2r00000010
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   348
                                     2r00100000 2r00000010
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   349
                                     2r00010000 2r00000010
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   350
                                     2r00001000 2r11111110
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   351
                                     2r00000100 2r10000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   352
                                     2r00000010 2r10000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   353
                                     2r00000001 2r10000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   354
                                     2r00000000 2r00000000]
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   355
                         on:aDevice.
270
aa6a36e199e7 be tolerant in case form creation fails
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   356
            form isNil ifTrue:[^ nil].
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   357
        ].
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   358
    ].
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   359
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   360
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   361
     remember form for next use
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   362
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   363
    (aDevice == Display) ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   364
        CachedStyle := style.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   365
        LeftArrowForm := form
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   366
    ].
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   367
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   368
    ^ form
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   369
959
331da6bc19ec commentary
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   370
    "Modified: 17.1.1997 / 23:15:14 / cg"
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   371
!
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   372
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   373
rightArrowButtonForm:style on:aDevice
959
331da6bc19ec commentary
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   374
    "return the form used for the scrollRight Button"
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   375
923
a6ee1a239fc0 resource spec updated; cache device form
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   376
    <resource: #style (#arrowButtonRightForm)>
a6ee1a239fc0 resource spec updated; cache device form
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   377
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   378
    |form|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   379
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   380
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   381
     use cached form, if device is appropriate
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   382
    "
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   383
    CachedStyle ~~ style ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   384
        UpArrowForm := DownArrowForm := LeftArrowForm := RightArrowForm := nil
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   385
    ].
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   386
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   387
    ((aDevice == Display) and:[RightArrowForm notNil]) ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   388
        ^ RightArrowForm
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   389
    ].
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   390
154
claus
parents: 153
diff changeset
   391
    RightArrowForm := StyleSheet at:'arrowButtonRightForm' default:nil.
claus
parents: 153
diff changeset
   392
    RightArrowForm notNil ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   393
        ^ RightArrowForm
154
claus
parents: 153
diff changeset
   394
    ].
claus
parents: 153
diff changeset
   395
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   396
    "
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   397
     special treatment for st80 arrows 
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   398
     - they do not really fit into the general (bitmap) scheme ...
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   399
     (i.e. they are computed instead of drawn from a bitmap)
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   400
    "
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   401
    style ~~ #st80 ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   402
        RightArrowFormFile notNil ifTrue:[
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   403
            form := Image fromFile:RightArrowFormFile resolution:100 on:aDevice.
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   404
            form isNil ifTrue:[
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   405
                form := Image fromFile:'bitmaps/' , RightArrowFormFile resolution:100 on:aDevice.
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   406
                form isNil ifTrue:[
926
279927abd911 new infoMessage scheme
Claus Gittinger <cg@exept.de>
parents: 925
diff changeset
   407
                    'ArrowButton [info]: no bitmapFile: ' infoPrint. RightArrowFormFile infoPrintCR.
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   408
                ]
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   409
            ]
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   410
        ]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   411
    ].
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   412
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   413
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   414
     form to use as a fallback, if no bitmap file is present
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   415
     (actually not really needed - just to show something useful, in
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   416
      case of a bad installation)
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   417
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   418
    form isNil ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   419
        style == #st80 ifTrue:[
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   420
            form := Form width:9 height:9 depth:1 on:Display.
270
aa6a36e199e7 be tolerant in case form creation fails
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   421
            form isNil ifTrue:[^ nil].
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   422
            form clear.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   423
            form lineWidth:2.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   424
            form capStyle:#round.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   425
            form paint:(Color colorId:1).
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   426
            form displayLineFromX:2 y:0 toX:6 y:4.
901
fb2ed5eaaa37 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
   427
            form displayLineFromX:6 y:4 toX:2 y:8.
fb2ed5eaaa37 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
   428
            form beImmediateForm.
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   429
        ] ifFalse:[
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   430
            form := Form width:16 height:16 
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   431
                         fromArray:#[2r00000000 2r00000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   432
                                     2r00000001 2r10000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   433
                                     2r00000001 2r01000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   434
                                     2r00000001 2r00100000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   435
                                     2r01111111 2r00010000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   436
                                     2r01000000 2r00001000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   437
                                     2r01000000 2r00000100
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   438
                                     2r01000000 2r00000010
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   439
                                     2r01000000 2r00000010
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   440
                                     2r01000000 2r00000100
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   441
                                     2r01000000 2r00001000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   442
                                     2r01111111 2r00010000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   443
                                     2r00000001 2r00100000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   444
                                     2r00000001 2r01000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   445
                                     2r00000001 2r10000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   446
                                     2r00000000 2r00000000]
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   447
                         on:aDevice.
270
aa6a36e199e7 be tolerant in case form creation fails
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   448
            form isNil ifTrue:[^ nil].
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   449
        ].
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   450
    ].
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   451
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   452
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   453
     remember form for next use
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   454
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   455
    (aDevice == Display) ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   456
        CachedStyle := style.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   457
        RightArrowForm := form
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   458
    ].
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   459
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   460
    ^ form
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   461
959
331da6bc19ec commentary
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   462
    "Modified: 17.1.1997 / 23:15:20 / cg"
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   463
!
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   464
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   465
upArrowButtonForm:style on:aDevice
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   466
    "return the form used for the scrollUp Button"
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   467
923
a6ee1a239fc0 resource spec updated; cache device form
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   468
    <resource: #style (#arrowButtonUpForm)>
a6ee1a239fc0 resource spec updated; cache device form
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   469
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   470
    |form|
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   471
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   472
    "
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   473
     use cached form, if device is appropriate
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   474
    "
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   475
    CachedStyle ~~ style ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   476
        UpArrowForm := DownArrowForm := LeftArrowForm := RightArrowForm := nil
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   477
    ].
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   478
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   479
    ((aDevice == Display) and:[UpArrowForm notNil]) ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   480
        ^ UpArrowForm
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   481
    ].
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   482
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   483
    UpArrowForm := StyleSheet at:'arrowButtonUpForm' default:nil.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   484
    UpArrowForm notNil ifTrue:[
925
Claus Gittinger <cg@exept.de>
parents: 923
diff changeset
   485
        ^ UpArrowForm
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   486
    ].
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   487
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   488
    "
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   489
     special treatment for st80 arrows 
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   490
     - they do not really fit into the general (bitmap) scheme ...
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   491
     (i.e. they are computed instead of drawn from a bitmap)
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   492
    "
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   493
    style ~~ #st80 ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   494
        UpArrowFormFile notNil ifTrue:[
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   495
            form := Image fromFile:UpArrowFormFile resolution:100 on:aDevice.
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   496
            form isNil ifTrue:[
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   497
                form := Image fromFile:'bitmaps/' , UpArrowFormFile resolution:100 on:aDevice.
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   498
                form isNil ifTrue:[
926
279927abd911 new infoMessage scheme
Claus Gittinger <cg@exept.de>
parents: 925
diff changeset
   499
                    'ArrowButton [info]: no bitmapFile: ' infoPrint. UpArrowFormFile infoPrintCR.
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   500
                ]
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   501
            ]
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   502
        ]
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   503
    ].
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   504
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   505
    "
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   506
     form to use as a fallback, if no bitmap file is present
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   507
     (actually not really needed - just to show something useful, in
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   508
      case of a bad installation)
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   509
    "
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   510
    form isNil ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   511
        style == #st80 ifTrue:[
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   512
            form := Form width:9 height:9 depth:1 on:aDevice.
270
aa6a36e199e7 be tolerant in case form creation fails
Claus Gittinger <cg@exept.de>
parents: 205
diff changeset
   513
            form isNil ifTrue:[^ nil].
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   514
            form clear.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   515
            form lineWidth:2.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   516
            form capStyle:#round.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   517
            form paint:(Color colorId:1).
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   518
            form displayLineFromX:0 y:6 toX:4 y:2.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   519
            form displayLineFromX:4 y:2 toX:8 y:6.
901
fb2ed5eaaa37 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
   520
            form beImmediateForm.
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   521
        ] ifFalse:[
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   522
            form := Form width:16 height:16 
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   523
                         fromArray:#[2r00000000 2r00000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   524
                                     2r00000001 2r10000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   525
                                     2r00000010 2r01000000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   526
                                     2r00000100 2r00100000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   527
                                     2r00001000 2r00010000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   528
                                     2r00010000 2r00001000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   529
                                     2r00100000 2r00000100
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   530
                                     2r01000000 2r00000010
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   531
                                     2r01111000 2r00011110
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   532
                                     2r00001000 2r00010000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   533
                                     2r00001000 2r00010000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   534
                                     2r00001000 2r00010000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   535
                                     2r00001000 2r00010000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   536
                                     2r00001000 2r00010000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   537
                                     2r00001111 2r11110000
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   538
                                     2r00000000 2r00000000]
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   539
                         on:aDevice.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   540
            form isNil ifTrue:[^ nil].
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   541
        ].
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   542
    ].
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   543
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   544
    "
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   545
     remember form for next use
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   546
    "
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   547
    (aDevice == Display) ifTrue:[
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   548
        CachedStyle := style.
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   549
        UpArrowForm := form
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   550
    ].
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   551
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   552
    ^ form
657
3215022ac50c printNL -> printCR
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   553
926
279927abd911 new infoMessage scheme
Claus Gittinger <cg@exept.de>
parents: 925
diff changeset
   554
    "Modified: 10.1.1997 / 15:15:20 / cg"
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   555
!
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   556
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   557
updateStyleCache
440
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   558
    "extract values from the styleSheet and cache them in class variables"
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   559
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   560
    <resource: #style (#arrowButtonStyle 
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   561
                       #arrowButtonActiveLevel #arrowButtonPassiveLevel
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   562
                       #arrowButtonBackgroundColor #arrowButtonForegroundColor
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   563
                       #arrowButtonActiveBackgroundColor #arrowButtonActiveForegroundColor
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   564
                       #arrowButtonEnteredBackgroundColor #arrowButtonEnteredForegroundColor
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   565
                       #arrowButtonDisabledForegroundColor 
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   566
                       #arrowButtonDownForm #arrowButtonUpForm
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   567
                       #arrowButtonLeftForm #arrowButtonRightForm
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   568
                       #arrowButtonDownFormFile #arrowButtonUpFormFile
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   569
                       #arrowButtonLeftFormFile #arrowButtonRightFormFile)>
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   570
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   571
    DefaultArrowStyle := StyleSheet at:'arrowButtonStyle' default:StyleSheet name.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   572
    DefaultArrowStyle := DefaultArrowStyle asSymbol.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   573
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   574
    DefaultArrowButtonActiveLevel := StyleSheet at:'arrowButtonActiveLevel' default:nil.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   575
    DefaultArrowButtonPassiveLevel := StyleSheet at:'arrowButtonPassiveLevel' default:nil.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   576
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   577
    DefaultBackgroundColor := StyleSheet colorAt:'arrowButtonBackgroundColor'.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   578
    DefaultForegroundColor := StyleSheet colorAt:'arrowButtonForegroundColor'.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   579
    DefaultActiveBackgroundColor := StyleSheet colorAt:'arrowButtonActiveBackgroundColor'.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   580
    DefaultActiveForegroundColor := StyleSheet colorAt:'arrowButtonActiveForegroundColor'.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   581
    DefaultEnteredBackgroundColor := StyleSheet colorAt:'arrowButtonEnteredBackgroundColor'.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   582
    DefaultEnteredForegroundColor := StyleSheet colorAt:'arrowButtonEnteredForegroundColor'.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   583
    DefaultDisabledForegroundColor := StyleSheet colorAt:'arrowButtonDisabledForegroundColor'.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   584
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   585
    DownArrowForm := StyleSheet at:'arrowButtonDownForm' default:nil.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   586
    UpArrowForm := StyleSheet at:'arrowButtonUpForm' default:nil.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   587
    LeftArrowForm := StyleSheet at:'arrowButtonLeftForm' default:nil.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   588
    RightArrowForm := StyleSheet at:'arrowButtonRightForm' default:nil.
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   589
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   590
    UpArrowFormFile := DownArrowFormFile := LeftArrowFormFile := RightArrowFormFile := nil.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   591
    UpArrowForm isNil ifTrue:[
440
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   592
        UpArrowFormFile := StyleSheet at:'arrowButtonUpFormFile' default:'ScrollUp.xbm'.
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   593
    ].
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   594
    DownArrowForm isNil ifTrue:[
440
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   595
        DownArrowFormFile := StyleSheet at:'arrowButtonDownFormFile' default:'ScrollDn.xbm'.
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   596
    ].
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   597
    LeftArrowForm isNil ifTrue:[
440
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   598
        LeftArrowFormFile := StyleSheet at:'arrowButtonLeftFormFile' default:'ScrollLt.xbm'.
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   599
    ].
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   600
    RightArrowForm isNil ifTrue:[
440
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   601
        RightArrowFormFile := StyleSheet at:'arrowButtonRightFormFile' default:'ScrollRt.xbm'.
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   602
    ].
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   603
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   604
    "
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   605
     self updateStyleCache
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   606
    "
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   607
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   608
    "Modified: 31.8.1995 / 03:01:14 / claus"
440
2beb33cb0146 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   609
    "Modified: 1.3.1996 / 13:45:57 / cg"
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   610
! !
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   611
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   612
!ArrowButton methodsFor:'accessing'!
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   613
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   614
direction:aDirectionSymbol
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   615
    |form|
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   616
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   617
    aDirectionSymbol == #up ifTrue:[
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   618
	form := (self class upArrowButtonForm:arrowStyle on:device).
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   619
	name := 'upButton'.
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   620
    ].
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   621
    aDirectionSymbol == #down ifTrue:[
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   622
	form := (self class downArrowButtonForm:arrowStyle on:device).
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   623
	name := 'downButton'.
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   624
    ].
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   625
    aDirectionSymbol == #left ifTrue:[
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   626
	form := (self class leftArrowButtonForm:arrowStyle on:device).
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   627
	name := 'leftButton'.
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   628
    ].
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   629
    aDirectionSymbol == #right ifTrue:[
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   630
	form := (self class rightArrowButtonForm:arrowStyle on:device).
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   631
	name := 'rightButton'.
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   632
    ].
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   633
    self form:form
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   634
! !
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   635
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   636
!ArrowButton methodsFor:'initialization'!
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   637
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   638
initStyle
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   639
    super initStyle.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   640
60
f3c738c24ce6 mostly style
claus
parents: 59
diff changeset
   641
    DefaultBackgroundColor notNil ifTrue:[
f3c738c24ce6 mostly style
claus
parents: 59
diff changeset
   642
	bgColor := DefaultBackgroundColor on:device
f3c738c24ce6 mostly style
claus
parents: 59
diff changeset
   643
    ].
f3c738c24ce6 mostly style
claus
parents: 59
diff changeset
   644
    DefaultForegroundColor notNil ifTrue:[
f3c738c24ce6 mostly style
claus
parents: 59
diff changeset
   645
	fgColor := DefaultForegroundColor on:device
f3c738c24ce6 mostly style
claus
parents: 59
diff changeset
   646
    ].
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   647
    DefaultActiveForegroundColor notNil ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   648
	activeFgColor := DefaultActiveForegroundColor on:device
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   649
    ].
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   650
    DefaultActiveBackgroundColor notNil ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   651
	activeBgColor := DefaultActiveBackgroundColor on:device
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   652
    ].
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   653
    DefaultEnteredForegroundColor notNil ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   654
	enteredFgColor := DefaultEnteredForegroundColor on:device
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   655
    ].
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   656
    DefaultEnteredBackgroundColor notNil ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   657
	enteredBgColor := DefaultEnteredBackgroundColor on:device
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   658
    ].
153
claus
parents: 139
diff changeset
   659
    DefaultDisabledForegroundColor notNil ifTrue:[
claus
parents: 139
diff changeset
   660
	disabledFgColor := DefaultDisabledForegroundColor on:device
claus
parents: 139
diff changeset
   661
    ].
claus
parents: 139
diff changeset
   662
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   663
    arrowStyle := DefaultArrowStyle.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   664
128
claus
parents: 77
diff changeset
   665
    DefaultArrowButtonActiveLevel notNil ifTrue:[onLevel := DefaultArrowButtonActiveLevel].
claus
parents: 77
diff changeset
   666
    DefaultArrowButtonPassiveLevel notNil ifTrue:[offLevel := DefaultArrowButtonPassiveLevel].
claus
parents: 77
diff changeset
   667
    offLevel ~~ level ifTrue:[self level:offLevel].
claus
parents: 77
diff changeset
   668
claus
parents: 77
diff changeset
   669
"/    "
claus
parents: 77
diff changeset
   670
"/     special treatment for motif arrows 
claus
parents: 77
diff changeset
   671
"/     - they do not really fit into the general (bitmap) scheme ...
claus
parents: 77
diff changeset
   672
"/    "
claus
parents: 77
diff changeset
   673
"/    arrowStyle == #motif ifTrue:[
claus
parents: 77
diff changeset
   674
"/        onLevel := 0.
claus
parents: 77
diff changeset
   675
"/        offLevel := 0.
claus
parents: 77
diff changeset
   676
"/        self level:0.
claus
parents: 77
diff changeset
   677
"/    ]
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   678
!
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   679
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   680
initialize
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   681
    super initialize.
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   682
    controller beTriggerOnDown.
1
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   683
! !
3ebee08bea15 Initial revision
claus
parents:
diff changeset
   684
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   685
!ArrowButton methodsFor:'redrawing'!
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   686
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   687
drawWith:fg and:bg
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   688
    "this is a q&d hack for motif ..."
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   689
155
claus
parents: 154
diff changeset
   690
    |topLeft botRight noColor allColor isString orgX orgY r|
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   691
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   692
    arrowStyle ~~ #motif ifTrue:[
765
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   693
        ^ super drawWith:fg and:bg.
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   694
    ].
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   695
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   696
    "
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   697
     the code below does a lot of bitmap drawing, but allows
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   698
     to 3D-ify any logo (it draws it displaced by some pixels
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   699
     to the upper left in one-color and displaced to the 
60
f3c738c24ce6 mostly style
claus
parents: 59
diff changeset
   700
     lower right in the other color). It should be rewritten to
f3c738c24ce6 mostly style
claus
parents: 59
diff changeset
   701
     cache the result for later drawing operations.
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   702
    "
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   703
    logo notNil ifTrue:[
765
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   704
        self paint:bg.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   705
        self fillRectangleX:0 y:0 width:width height:height.
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   706
765
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   707
        shadowColor := shadowColor on:device.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   708
        lightColor := lightColor on:device.
153
claus
parents: 139
diff changeset
   709
765
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   710
        controller pressed ifTrue:[
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   711
            topLeft := shadowColor.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   712
            botRight := lightColor
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   713
        ] ifFalse:[
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   714
            topLeft := lightColor.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   715
            botRight := shadowColor
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   716
        ].
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   717
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   718
        isString := logo isString.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   719
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   720
        isString ifFalse:[
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   721
            logo depth ~~ 1 ifTrue:[
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   722
                "/ allow for deep logos (for motif)
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   723
                "/ one catch: if the view background is a complex pixmap
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   724
                "/ we cannot use this as colorMap entry.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   725
                "/ therefore, compute their average colors and take these
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   726
                "/ (this looks ok for buttons ...)
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 24
diff changeset
   727
781
51741bd620ab use #graphicsDevice instead of #device.
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
   728
                logo graphicsDevice ~~ device ifTrue:[
768
33056f6466ea keep forms in the image (in case the .xbm files are lost at restart)
Claus Gittinger <cg@exept.de>
parents: 765
diff changeset
   729
"/ 'deep logo: ' print. logo depth printCR.
765
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   730
                    r := (0@0 corner:10@10).
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   731
                    logo colorMap:(Array with:(bg averageColorIn:r)
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   732
                                         with:(topLeft averageColorIn:r)
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   733
                                         with:(botRight averageColorIn:r)
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   734
                                         with:(fg averageColorIn:r)).
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   735
                    logo photometric:#palette.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   736
                    logo := logo on:device.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   737
                ].
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   738
                self displayForm:logo x:labelOriginX  y:labelOriginY.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   739
                ^ self
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   740
            ]
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   741
        ].
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   742
765
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   743
        noColor := Color noColor.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   744
        allColor := Color allColor.
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   745
765
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   746
        isString ifTrue:[
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   747
            orgY := height - font height // 2 + font ascent.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   748
            orgX := width - labelOriginX // 4 - 1.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   749
        ].
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   750
        self paint:topLeft.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   751
        #(-1 0 -1) with:#(-1 -1 0) do:[:dX :dY |
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   752
            isString ifTrue:[
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   753
                self displayString:logo x:orgX+dX  y:orgY+dY.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   754
            ] ifFalse:[
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   755
                self displayForm:logo x:labelOriginX+dX  y:labelOriginY+dY.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   756
            ]    
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   757
        ].
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   758
765
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   759
        self paint:botRight.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   760
        #(1 1 0) with:#(0 1 1) do:[:dX :dY |
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   761
            isString ifTrue:[
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   762
                self displayString:logo x:orgX+dX  y:orgY+dY.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   763
            ] ifFalse:[
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   764
                self displayForm:logo x:labelOriginX+dX  y:labelOriginY+dY.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   765
            ]    
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   766
        ].
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   767
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   768
        "
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   769
         finally, the form itself
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   770
        "
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   771
        self paint:fg.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   772
        isString ifTrue:[
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   773
            self displayString:logo x:orgX y:orgY.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   774
        ] ifFalse:[
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   775
            self displayForm:logo x:labelOriginX  y:labelOriginY.
ea6ecf2a5b30 keep deep device image cached
Claus Gittinger <cg@exept.de>
parents: 657
diff changeset
   776
        ]    
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   777
    ]
153
claus
parents: 139
diff changeset
   778
claus
parents: 139
diff changeset
   779
    "Modified: 31.8.1995 / 03:03:12 / claus"
781
51741bd620ab use #graphicsDevice instead of #device.
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
   780
    "Modified: 5.7.1996 / 17:58:46 / cg"
6
fd1b68b48422 *** empty log message ***
claus
parents: 1
diff changeset
   781
! !
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   782
899
aa84d3d39d94 use Image instead of Form
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   783
!ArrowButton class methodsFor:'documentation'!
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   784
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   785
version
959
331da6bc19ec commentary
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   786
    ^ '$Header: /cvs/stx/stx/libwidg/ArrowButton.st,v 1.34 1997-01-17 22:26:49 cg Exp $'
205
6814c0bf8df8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   787
! !