ScrView.st
author ca
Thu, 07 Mar 1996 10:33:53 +0100
changeset 487 4ee60598df58
parent 444 ef26eba8c854
child 492 80950bd2462e
permissions -rw-r--r--
checkin from browser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     1
"
5
claus
parents: 3
diff changeset
     2
 COPYRIGHT (c) 1989 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
     3
	      All Rights Reserved
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     4
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    11
"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    12
119
claus
parents: 113
diff changeset
    13
SimpleView subclass:#ScrollableView
444
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
    14
	instanceVariableNames:'scrolledView scrollBar helpView innerMargin scrollBarPosition
248
c58fabf73c35 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
    15
		lockUpdates'
444
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
    16
	classVariableNames:'DefaultScrolledViewLevel'
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
    17
	poolDictionaries:''
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
    18
	category:'Views-Basic'
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    19
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    20
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    21
!ScrollableView class methodsFor:'documentation'!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    22
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    23
copyright
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    24
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    25
 COPYRIGHT (c) 1989 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
    26
	      All Rights Reserved
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    27
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    28
 This software is furnished under a license and may be used
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    29
 only in accordance with the terms of that license and with the
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    31
 be provided or otherwise made available to, or used by, any
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    32
 other person.  No title to or ownership of the software is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    33
 hereby transferred.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    34
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    35
!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    36
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    37
documentation
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    38
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    39
    a view containing a scrollbar and some other (slave-)view.
130
claus
parents: 122
diff changeset
    40
    This view wraps scrollbar(s) around the view to be scrolled.
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
    41
    The scrollbars are setup to send scrollUp/scrollDown/scrollVerticalTo
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
    42
    and scrollLeft/scrollRight/scrollHorizontalTo- messages whenever moved.
130
claus
parents: 122
diff changeset
    43
    The view itself has to implement these (there is a default implementation
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
    44
    in the common View class for this.
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
    45
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
    46
    For the scrollbars to know about the full (maximum) size, the view
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
    47
    must implement #heightOfContents and/or #widthOfContents.
130
claus
parents: 122
diff changeset
    48
    The values returned by these methods are used to compute the fraction
claus
parents: 122
diff changeset
    49
    which is visible (i.e. the scrollers thumb heights).
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
    50
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    51
    There are two ways to create a ScrollableView:
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    52
    if the type of the view to be scrolled is known in advance,
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    53
    use:
130
claus
parents: 122
diff changeset
    54
	v := ScrollableView for:<ViewClass>
claus
parents: 122
diff changeset
    55
    or:
claus
parents: 122
diff changeset
    56
	v := ScrollableView for:<ViewClass> in:someSuperView
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
    57
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
    58
    otherwise, create the scrollableView empty with:
130
claus
parents: 122
diff changeset
    59
claus
parents: 122
diff changeset
    60
	v := ScrollableView new
claus
parents: 122
diff changeset
    61
    or:
claus
parents: 122
diff changeset
    62
	v := ScrollableView in:someSuperView
claus
parents: 122
diff changeset
    63
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
    64
    and define the view later with:
130
claus
parents: 122
diff changeset
    65
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
    66
	v scrolledView:aViewToBeScrolled
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
    67
130
claus
parents: 122
diff changeset
    68
    Finally, if the view to be scrolled has been already created,
claus
parents: 122
diff changeset
    69
    use:
claus
parents: 122
diff changeset
    70
claus
parents: 122
diff changeset
    71
	v := ScrollableView forView:aViewToBeScrolled
claus
parents: 122
diff changeset
    72
    or:    
claus
parents: 122
diff changeset
    73
	v := ScrollableView forView:aViewToBeScrolled in:someSuperView
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
    74
130
claus
parents: 122
diff changeset
    75
    It is also possible to change the scrolledView later (even multiple times).
claus
parents: 122
diff changeset
    76
    This may be useful, if different views are needed to display different types
claus
parents: 122
diff changeset
    77
    of data (see example2) and at creation time, it is not known what type
claus
parents: 122
diff changeset
    78
    of view is required (multimedia applications).
claus
parents: 122
diff changeset
    79
claus
parents: 122
diff changeset
    80
    If you want to scroll views (instead of a views contents), you need a 
claus
parents: 122
diff changeset
    81
    companion class (ViewScroller). See the documentation there.
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
    82
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
    83
    If you need horizontal scrolling too, use an instance of HVScrollableView.
113
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
    84
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
    85
    By default, scrollbars are full size scrollbars - for horizontal scrolling
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
    86
    (which is less often used), scrollableViews can optionally be created with
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
    87
    miniscrollers which take up less screen space.
130
claus
parents: 122
diff changeset
    88
claus
parents: 122
diff changeset
    89
    TODO:
claus
parents: 122
diff changeset
    90
	this is pretty old and needs a rewrite. There are quite some
claus
parents: 122
diff changeset
    91
	historic leftovers found here and things can be done better
claus
parents: 122
diff changeset
    92
	(especially in initializeFor...)
claus
parents: 122
diff changeset
    93
claus
parents: 122
diff changeset
    94
	Also, it should be rewritten into one class which supports both
claus
parents: 122
diff changeset
    95
	Vertical-only, Horizontal-only and HV scrolling.
claus
parents: 122
diff changeset
    96
	Currently, horizontal-only scrolling is not available.
claus
parents: 122
diff changeset
    97
	(you have to write your own class ...)
claus
parents: 122
diff changeset
    98
claus
parents: 122
diff changeset
    99
	Finally, some means to hide scrollbars should be added - this would
claus
parents: 122
diff changeset
   100
	give more screenspace to the view when all is visible 
claus
parents: 122
diff changeset
   101
	(and therefore, the scrollbars are not needed, anyway)
claus
parents: 122
diff changeset
   102
claus
parents: 122
diff changeset
   103
	Expect the above things to be fixed in an upcoming version.
63
f4eaf04d1eaf *** empty log message ***
claus
parents: 59
diff changeset
   104
"
f4eaf04d1eaf *** empty log message ***
claus
parents: 59
diff changeset
   105
!
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   106
63
f4eaf04d1eaf *** empty log message ***
claus
parents: 59
diff changeset
   107
examples
f4eaf04d1eaf *** empty log message ***
claus
parents: 59
diff changeset
   108
"
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   109
    example1 (simple scrolled text):
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   110
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   111
	|top scr txt|
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   112
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   113
	top := StandardSystemView label:'scroll example1'.
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   114
	top extent:200@100.
113
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   115
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   116
	scr := ScrollableView for:EditTextView in:top.
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   117
	scr origin:0.0@0.0 corner:1.0@1.0.
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   118
	txt := scr scrolledView.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   119
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   120
	txt list:#('line1'
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   121
		   'line2'
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   122
		   'line3'
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   123
		   'line4'
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   124
		   'line5'
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   125
		   'line7'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   126
		   'line8'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   127
		   'line9'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   128
		   'line10'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   129
		  ).
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   130
	top open
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   131
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   132
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   133
    example2 (changing the scrolledView later):
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   134
113
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   135
	|top scr txtView1 txtView2 browserView|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   136
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   137
	top := StandardSystemView label:'scroll example2'.
113
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   138
	top extent:300@100.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   139
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   140
	scr := ScrollableView in:top.
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   141
	scr origin:0.0@0.0 corner:1.0@1.0.
113
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   142
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   143
	top open.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   144
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   145
	(Delay forSeconds:5) wait.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   146
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   147
	txtView1 := EditTextView new.
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   148
	txtView1 list:#(
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   149
			'wait 5 seconds to see the other text'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   150
			'line2'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   151
			'line3'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   152
			'line4'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   153
			'line5'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   154
			'line7'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   155
			'line8'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   156
			'line9'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   157
			'line10'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   158
		  ).
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   159
	scr scrolledView:txtView1.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   160
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   161
	(Delay forSeconds:5) wait.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   162
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   163
	txtView2 := EditTextView new.
113
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   164
	txtView2 list:#('this is the other views text' 
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   165
			'alternative line2'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   166
			'alternative line3'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   167
			'alternative line4'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   168
			'alternative line5'
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   169
			'alternative line6').
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   170
	scr scrolledView:txtView2.
113
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   171
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   172
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   173
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   174
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   175
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   176
    example3 (using a miniscroller):
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   177
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   178
	|top scr txt|
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   179
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   180
	top := StandardSystemView label:'scroll example3'.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   181
	top extent:200@100.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   182
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   183
	scr := ScrollableView for:EditTextView miniScroller:true in:top.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   184
	scr origin:0.0@0.0 corner:1.0@1.0.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   185
	txt := scr scrolledView.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   186
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   187
	txt list:#('line1'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   188
		   'line2'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   189
		   'line3'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   190
		   'line4'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   191
		   'line5'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   192
		   'line7'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   193
		   'line8'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   194
		   'line9'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   195
		   'line10'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   196
		  ).
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   197
	top open
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   198
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   199
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   200
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   201
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   202
    example4 (scrolling in both directions):
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   203
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   204
	|top scr txt|
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   205
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   206
	top := StandardSystemView label:'scroll example4'.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   207
	top extent:200@100.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   208
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   209
	scr := HVScrollableView for:EditTextView in:top.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   210
	scr origin:0.0@0.0 corner:1.0@1.0.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   211
	txt := scr scrolledView.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   212
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   213
	txt list:#('line1'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   214
		   'line2'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   215
		   'line3'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   216
		   'line4'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   217
		   'line5'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   218
		   'line7'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   219
		   'line8'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   220
		   'line9'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   221
		   'line10'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   222
		  ).
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   223
	top open
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   224
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   225
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   226
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   227
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   228
    example5 (using a full scroller vertically, miniscroller horizontally):
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   229
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   230
	|top scr txt|
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   231
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   232
	top := StandardSystemView label:'scroll example5'.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   233
	top extent:200@100.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   234
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   235
	scr := HVScrollableView for:EditTextView miniScrollerH:true in:top.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   236
	scr origin:0.0@0.0 corner:1.0@1.0.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   237
	txt := scr scrolledView.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   238
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   239
	txt list:#('line1'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   240
		   'line2'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   241
		   'line3'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   242
		   'line4'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   243
		   'line5'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   244
		   'line7'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   245
		   'line8'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   246
		   'line9'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   247
		   'line10'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   248
		  ).
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   249
	top open
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   250
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   251
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   252
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   253
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   254
    example6 (using miniscrollers for both directions ):
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   255
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   256
	|top scr txt|
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   257
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   258
	top := StandardSystemView label:'scroll example6'.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   259
	top extent:200@100.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   260
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   261
	scr := HVScrollableView for:EditTextView miniScroller:true in:top.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   262
	scr origin:0.0@0.0 corner:1.0@1.0.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   263
	txt := scr scrolledView.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   264
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   265
	txt list:#('line1'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   266
		   'line2'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   267
		   'line3'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   268
		   'line4'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   269
		   'line5'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   270
		   'line7'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   271
		   'line8'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   272
		   'line9'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   273
		   'line10'
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   274
		  ).
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   275
	top open
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   276
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   277
! !
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   278
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   279
!ScrollableView class methodsFor:'instance creation'!
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   280
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   281
for:aViewClass
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   282
    "return a new scrolling view scrolling an instance of aViewClass.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   283
     The subview is created here.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   284
     The view will have full scrollbars."
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   285
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   286
    ^ self for:aViewClass miniScrollerH:false miniScrollerV:false in:nil
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   287
!
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   288
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   289
for:aViewClass in:aView
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   290
    "return a new scrolling view scrolling an instance of aViewClass.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   291
     The subview is created here.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   292
     The view will have full scrollbars."
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   293
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   294
    ^ self for:aViewClass miniScrollerH:false miniScrollerV:false in:aView
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   295
!
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   296
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   297
for:aViewClass miniScroller:mini
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   298
    "return a new scrolling view scrolling an instance of aViewClass.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   299
     The subview is created here.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   300
     The view will have full scrollbars if mini is false, miniscrollers
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   301
     if true."
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   302
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   303
    ^ self for:aViewClass miniScrollerH:mini miniScrollerV:mini in:nil 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   304
!
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   305
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   306
for:aViewClass miniScroller:mini in:aView
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   307
    "return a new scrolling view scrolling an instance of aViewClass.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   308
     The subview is created here.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   309
     The view will have full scrollbars if mini is false, miniscrollers
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   310
     if true."
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   311
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   312
    ^ self for:aViewClass miniScrollerH:mini miniScrollerV:mini in:aView 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   313
!
153
claus
parents: 132
diff changeset
   314
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   315
for:aViewClass miniScrollerH:miniH
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   316
    "return a new scrolling view scrolling an instance of aViewClass.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   317
     The subview is created here.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   318
     The view will have full scrollbars if miniH is false, 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   319
     and a horizontal miniscroller if true."
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   320
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   321
    ^ self for:aViewClass miniScrollerH:miniH miniScrollerV:false in:nil
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   322
!
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   323
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   324
for:aViewClass miniScrollerH:miniH in:aView
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   325
    "return a new scrolling view scrolling an instance of aViewClass.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   326
     The subview is created here.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   327
     The view will have full scrollbars if miniH is false, 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   328
     and a horizontal miniscroller if true."
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   329
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   330
    ^ self for:aViewClass miniScrollerH:miniH miniScrollerV:false in:aView 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   331
!
153
claus
parents: 132
diff changeset
   332
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   333
for:aViewClass miniScrollerH:miniH miniScrollerV:miniV
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   334
    "return a new scrolling view scrolling an instance of aViewClass.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   335
     The subview is created here.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   336
     The view will have full scrollbars if the corresponding miniH/miniV
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   337
     is false, miniscrollers if true."
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   338
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   339
    ^ self for:aViewClass miniScrollerH:miniH miniScrollerV:miniV in:nil
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   340
!
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   341
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   342
for:aViewClass miniScrollerH:miniH miniScrollerV:miniV in:aView
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   343
    "return a new scrolling view scrolling an instance of aViewClass.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   344
     The subview is created here.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   345
     The view will have full scrollbars if the corresponding miniH/miniV
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   346
     is false, miniscrollers if true."
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   347
300
0823ef38e629 adding/removing views to Panels
ah
parents: 248
diff changeset
   348
    |newView dev|
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   349
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   350
    aView notNil ifTrue:[
300
0823ef38e629 adding/removing views to Panels
ah
parents: 248
diff changeset
   351
	dev := aView device
0823ef38e629 adding/removing views to Panels
ah
parents: 248
diff changeset
   352
    ] ifFalse:[ 
0823ef38e629 adding/removing views to Panels
ah
parents: 248
diff changeset
   353
	dev := Screen current
0823ef38e629 adding/removing views to Panels
ah
parents: 248
diff changeset
   354
    ].
0823ef38e629 adding/removing views to Panels
ah
parents: 248
diff changeset
   355
    newView := self basicNew device:dev.
0823ef38e629 adding/removing views to Panels
ah
parents: 248
diff changeset
   356
    newView initializeFor:aViewClass miniScrollerH:miniH miniScrollerV:miniV.
0823ef38e629 adding/removing views to Panels
ah
parents: 248
diff changeset
   357
    aView notNil ifTrue:[
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   358
	aView addSubView:newView
153
claus
parents: 132
diff changeset
   359
    ].
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   360
    ^ newView
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   361
!
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   362
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   363
forView:aView
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   364
    "return a new scrolling view scrolling aView.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   365
     The view will have full scrollbars."
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   366
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   367
    ^ self forView:aView miniScrollerH:false miniScrollerV:false in:nil
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   368
!
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   369
248
c58fabf73c35 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   370
forView:aView miniScrollerH:mini
c58fabf73c35 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   371
    "return a new scrolling view scrolling aView.
c58fabf73c35 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   372
     The view will have a full vertical scrollbar and a horizontal
c58fabf73c35 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   373
     miniScroller if mini is true."
c58fabf73c35 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   374
c58fabf73c35 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   375
    ^ self forView:aView miniScrollerH:mini miniScrollerV:false in:nil
c58fabf73c35 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   376
c58fabf73c35 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   377
    "Created: 10.12.1995 / 17:26:16 / cg"
c58fabf73c35 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   378
!
c58fabf73c35 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   379
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   380
forView:scrolledView miniScrollerH:miniH miniScrollerV:miniV in:aView
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   381
    "return a new scrolling view, scrolling aView.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   382
     The view will have full scrollbars if the corresponding miniH/miniV
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   383
     is false, miniscrollers if true."
153
claus
parents: 132
diff changeset
   384
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   385
    |newView|
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   386
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   387
    newView := self for:nil miniScrollerH:miniH miniScrollerV:miniV in:aView.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   388
    newView scrolledView:scrolledView.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   389
    ^ newView
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   390
!
153
claus
parents: 132
diff changeset
   391
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   392
in:aView
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   393
    "return a new scrolling view to be contained in aView.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   394
     There is no slave view now - this has to be set later via
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   395
     the scrolledView: method.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   396
     The view will have full scrollbars."
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   397
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   398
    ^ self for:nil miniScrollerH:false miniScrollerV:false in:aView
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   399
!
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   400
93
f608d94e31ff *** empty log message ***
claus
parents: 77
diff changeset
   401
miniScroller:mini
f608d94e31ff *** empty log message ***
claus
parents: 77
diff changeset
   402
    "return a new scrolling view. The subview will be created later.
f608d94e31ff *** empty log message ***
claus
parents: 77
diff changeset
   403
     The view will have full scrollbars if mini is false, 
f608d94e31ff *** empty log message ***
claus
parents: 77
diff changeset
   404
     miniscrollers if true."
f608d94e31ff *** empty log message ***
claus
parents: 77
diff changeset
   405
f608d94e31ff *** empty log message ***
claus
parents: 77
diff changeset
   406
    ^ self for:nil miniScrollerH:mini miniScrollerV:mini 
f608d94e31ff *** empty log message ***
claus
parents: 77
diff changeset
   407
!
f608d94e31ff *** empty log message ***
claus
parents: 77
diff changeset
   408
113
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   409
miniScrollerH:miniH
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   410
    "return a new scrolling view. The subview will be created later.
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   411
     The view will have full scrollbars if miniH is false, 
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   412
     and a horizontal miniscroller if true."
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   413
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   414
    ^ self for:nil miniScrollerH:miniH miniScrollerV:false in:nil
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   415
!
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   416
93
f608d94e31ff *** empty log message ***
claus
parents: 77
diff changeset
   417
miniScrollerH:miniH miniScrollerV:miniV
f608d94e31ff *** empty log message ***
claus
parents: 77
diff changeset
   418
    "return a new scrolling view. The subview will be created later.
f608d94e31ff *** empty log message ***
claus
parents: 77
diff changeset
   419
     The view will have full scrollbars if the corresponding miniH/miniV
113
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   420
     is false, miniscrollers if true."
93
f608d94e31ff *** empty log message ***
claus
parents: 77
diff changeset
   421
f608d94e31ff *** empty log message ***
claus
parents: 77
diff changeset
   422
    ^ self for:nil miniScrollerH:miniH miniScrollerV:miniV in:nil
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   423
! !
93
f608d94e31ff *** empty log message ***
claus
parents: 77
diff changeset
   424
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   425
!ScrollableView class methodsFor:'defaults'!
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   426
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   427
updateStyleCache
444
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
   428
    "extract values from the styleSheet and cache them in class variables"
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
   429
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
   430
    <resource: #style (#scrolledViewLevel)>
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
   431
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   432
    |d|
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   433
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   434
    StyleSheet name == #st80 ifTrue:[
444
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
   435
        d := 1
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   436
    ] ifFalse:[
444
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
   437
        StyleSheet is3D ifTrue:[
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
   438
            d := -1
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
   439
        ] ifFalse:[
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
   440
            d := 0
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
   441
        ]
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   442
    ].
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   443
    DefaultScrolledViewLevel := StyleSheet at:'scrolledViewLevel' default:d.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   444
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   445
    "Modified: 31.8.1995 / 04:05:55 / claus"
444
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
   446
    "Modified: 1.3.1996 / 13:46:39 / cg"
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   447
! !
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   448
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   449
!ScrollableView methodsFor:'accessing'!
119
claus
parents: 113
diff changeset
   450
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   451
scrollBar
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   452
    "return the scrollbar"
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   453
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   454
    ^ scrollBar
119
claus
parents: 113
diff changeset
   455
!
claus
parents: 113
diff changeset
   456
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   457
scrolledView
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   458
    "return the scrolled view"
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   459
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   460
    ^ scrolledView
113
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   461
!
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   462
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   463
scrolledView:aView
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   464
    "set the view to scroll"
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   465
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   466
    |halfMargin twoMargins isOpenwin|
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   467
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   468
    scrolledView notNil ifTrue:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   469
	scrolledView destroy.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   470
	scrolledView := nil.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   471
    ].
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   472
    scrolledView := aView.
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   473
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   474
"/    ((style ~~ #normal) and:[style ~~ #mswindows]) ifTrue:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   475
    styleSheet is3D ifTrue:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   476
	"3D look"
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   477
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   478
	isOpenwin := styleSheet name = #openwin.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   479
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   480
	twoMargins := innerMargin * 2.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   481
	halfMargin := innerMargin // 2.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   482
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   483
	isOpenwin ifTrue:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   484
	    scrolledView level:0.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   485
	    scrolledView borderWidth:1
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   486
	] ifFalse:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   487
	    scrolledView level:DefaultScrolledViewLevel.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   488
"/            scrolledView level:-1
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   489
	].
77
565b052f5277 *** empty log message ***
claus
parents: 65
diff changeset
   490
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   491
	(scrollBarPosition == #right) ifTrue:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   492
	    scrolledView 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   493
		origin:halfMargin asPoint
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   494
		extent:[(width - 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   495
			 scrollBar width - 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   496
			 twoMargins) 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   497
			@ 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   498
			(height - innerMargin)
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   499
		       ].
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   500
	] ifFalse:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   501
	    scrolledView 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   502
		origin:((scrollBar origin x 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   503
			 + scrollBar width 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   504
			 + innerMargin)
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   505
			@
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   506
			halfMargin)
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   507
		extent:[(width 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   508
			 - scrollBar width 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   509
			 - twoMargins) 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   510
			@ 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   511
			(height - innerMargin)
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   512
		       ].
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   513
	]
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   514
    ] ifFalse:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   515
	"non 3D look"
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   516
	(scrollBarPosition == #right) ifTrue:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   517
	    scrolledView 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   518
		origin:scrolledView borderWidth negated asPoint
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   519
	] ifFalse:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   520
	    scrolledView 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   521
		origin:((scrollBar width 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   522
			 + scrollBar borderWidth 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   523
			 - scrolledView borderWidth) 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   524
			@ 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   525
			scrolledView borderWidth negated)
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   526
	].
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   527
	scrolledView 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   528
	    extent:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   529
		    (width 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   530
		     - scrollBar width 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   531
		     - scrolledView borderWidth) 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   532
		    @ 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   533
		    (height + (scrollBar borderWidth))
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   534
		   ]
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   535
    ].
132
claus
parents: 130
diff changeset
   536
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   537
    super addSubView:scrolledView.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   538
    self setScrollActions.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   539
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   540
    "
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   541
     pass my keyboard input (and other subviews input) 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   542
     to the scrolled view ...
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   543
    "
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   544
    self delegate:(KeyboardForwarder toView:scrolledView).
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   545
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   546
    realized ifTrue:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   547
	self sizeChanged:nil.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   548
	scrolledView realize
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   549
    ].
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   550
! !
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   551
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   552
!ScrollableView methodsFor:'changes '!
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   553
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   554
update:something with:argument from:changedObject
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   555
    "whenever the scrolledView changes its contents, the scroller must
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   556
     be updated"
132
claus
parents: 130
diff changeset
   557
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   558
    changedObject == scrolledView ifTrue:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   559
	something == #sizeOfContents ifTrue:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   560
	    scrollBar setThumbFor:scrolledView.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   561
	    ^ self
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   562
	].
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   563
	something == #originOfContents ifTrue:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   564
	    lockUpdates ifFalse:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   565
		scrollBar setThumbOriginFor:scrolledView.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   566
	    ].
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   567
	    ^ self
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   568
	].
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   569
    ].
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   570
! !
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   571
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   572
!ScrollableView methodsFor:'event processing'!
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   573
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   574
keyPress:key x:x y:y
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   575
    "a key was pressed - handle page-keys here"
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   576
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   577
    <resource: #keyboard ( #Prior #Next ) >
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   578
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   579
    (key == #Prior)    ifTrue: [^ self pageUp].
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   580
    (key == #Next)     ifTrue: [^ self pageDown].
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   581
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   582
    super keyPress:key x:x y:y
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   583
!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   584
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   585
sizeChanged:how
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   586
    super sizeChanged:how.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   587
    scrolledView notNil ifTrue:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   588
	scrollBar setThumbFor:scrolledView
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   589
    ].
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   590
    scrollBar thumbOrigin + scrollBar thumbHeight >= 100 ifTrue:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   591
	scrollBar thumbOrigin:(100 - scrollBar thumbHeight).
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   592
	scrolledView scrollVerticalToPercent:scrollBar thumbOrigin.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   593
    ].
113
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   594
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   595
    "Modified: 8.9.1995 / 12:46:36 / claus"
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   596
! !
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   597
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   598
!ScrollableView methodsFor:'forced scroll'!
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   599
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   600
pageDown
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   601
    "page down"
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   602
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   603
    scrollBar pageDown
113
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   604
!
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   605
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   606
pageUp
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   607
    "page up"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   608
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   609
    scrollBar pageUp
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   610
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   611
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   612
!ScrollableView methodsFor:'initialization'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   613
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   614
initStyle
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   615
    super initStyle.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   616
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   617
    scrollBarPosition := styleSheet at:'scrollBarPosition' default:#left
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   618
!
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   619
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   620
initialize
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   621
    "default setup: full scrollers"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   622
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   623
    ^ self initializeFor:nil miniScrollerH:false miniScrollerV:false 
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   624
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   625
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   626
initializeFor:aViewClass miniScrollerH:miniH miniScrollerV:miniV 
130
claus
parents: 122
diff changeset
   627
    |negativeOffset twoMargins halfMargin cls isST80 isOpenWin is3D lvl extra|
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   628
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   629
    super initialize.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   630
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   631
    lockUpdates := false.
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   632
110
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   633
    "
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   634
     mhmh - these must go into the stylesheet as well...
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   635
    "
130
claus
parents: 122
diff changeset
   636
    isST80 := styleSheet name = #st80.
claus
parents: 122
diff changeset
   637
    isOpenWin := styleSheet name = #openwin.
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   638
110
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   639
    isOpenWin ifTrue:[self level:0].
130
claus
parents: 122
diff changeset
   640
    is3D := styleSheet is3D.
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   641
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   642
    isST80 ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   643
	innerMargin := 0
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   644
    ] ifFalse:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   645
	is3D ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   646
	    innerMargin := ViewSpacing.
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   647
	] ifFalse:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   648
	    innerMargin := 0    
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   649
	]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   650
    ].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   651
    negativeOffset := borderWidth negated.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   652
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   653
    "create the scrollbar"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   654
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   655
    isST80 ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   656
	cls := ScrollBar
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   657
    ] ifFalse:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   658
	cls := miniV ifTrue:[MiniScroller] ifFalse:[ScrollBar].
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   659
    ].
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   660
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   661
    scrollBar := cls in:self.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   662
    scrollBar thumbOrigin:0 thumbHeight:100.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   663
130
claus
parents: 122
diff changeset
   664
    extra := 0.
claus
parents: 122
diff changeset
   665
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   666
    "create the subview"
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   667
    is3D ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   668
	twoMargins := innerMargin * 2.
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   669
	halfMargin := innerMargin // 2.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   670
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   671
	aViewClass notNil ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   672
	    scrolledView := aViewClass in:self.
110
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   673
	    isOpenWin ifTrue:[
130
claus
parents: 122
diff changeset
   674
		lvl := 0.
claus
parents: 122
diff changeset
   675
		"/ scrolledView level:0.
claus
parents: 122
diff changeset
   676
		scrolledView borderWidth:1.
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   677
	    ] ifFalse:[
153
claus
parents: 132
diff changeset
   678
		lvl := DefaultScrolledViewLevel.
claus
parents: 132
diff changeset
   679
"/                isST80 ifTrue:[
claus
parents: 132
diff changeset
   680
"/                    "/ scrolledView level:1.
claus
parents: 132
diff changeset
   681
"/                    lvl := 1.
claus
parents: 132
diff changeset
   682
"/                ] ifFalse:[
claus
parents: 132
diff changeset
   683
"/                    "/ scrolledView level:-1
claus
parents: 132
diff changeset
   684
"/                     lvl := -1
claus
parents: 132
diff changeset
   685
"/                ]
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   686
	    ].
130
claus
parents: 122
diff changeset
   687
	    scrolledView level:lvl.
claus
parents: 122
diff changeset
   688
	    extra := scrolledView borderWidth * 2.
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   689
	].
130
claus
parents: 122
diff changeset
   690
claus
parents: 122
diff changeset
   691
	scrollBar extent:[scrollBar extent x
claus
parents: 122
diff changeset
   692
			  @ 
claus
parents: 122
diff changeset
   693
			  (height - innerMargin "new:" + extra)].
claus
parents: 122
diff changeset
   694
	scrolledView notNil ifTrue:[
claus
parents: 122
diff changeset
   695
	    scrolledView
claus
parents: 122
diff changeset
   696
		extent:[(width 
claus
parents: 122
diff changeset
   697
			 - scrollBar width 
claus
parents: 122
diff changeset
   698
			 - twoMargins) 
claus
parents: 122
diff changeset
   699
			@ 
claus
parents: 122
diff changeset
   700
			(height - innerMargin)].
claus
parents: 122
diff changeset
   701
	].
claus
parents: 122
diff changeset
   702
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   703
	(scrollBarPosition == #right) ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   704
	    scrollBar origin:[width - scrollBar extent x 
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   705
				    - (scrollBar borderWidth * 2)
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   706
				    - halfMargin
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   707
			      @
130
claus
parents: 122
diff changeset
   708
			      halfMargin].
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   709
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   710
	    scrolledView notNil ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   711
		scrolledView origin:halfMargin asPoint
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   712
		]
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   713
	] ifFalse:[
130
claus
parents: 122
diff changeset
   714
	    scrollBar origin:halfMargin asPoint.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   715
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   716
	    scrolledView notNil ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   717
		scrolledView origin:((scrollBar origin x + scrollBar width + innerMargin)
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   718
				     @
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   719
				     halfMargin)
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   720
	    ]
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   721
	].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   722
    ] ifFalse:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   723
	(scrollBarPosition == #right) ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   724
	    scrollBar origin:[width - scrollBar extent x 
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   725
				    - scrollBar borderWidth
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   726
			      @
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   727
			      negativeOffset]
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   728
	] ifFalse:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   729
	    scrollBar origin:negativeOffset asPoint
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   730
	].
130
claus
parents: 122
diff changeset
   731
	scrollBar extent:[scrollBar extent x 
claus
parents: 122
diff changeset
   732
			  @ 
claus
parents: 122
diff changeset
   733
			  (height "+ (scrollBar borderWidth * 1)")].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   734
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   735
	aViewClass notNil ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   736
	    scrolledView := aViewClass in:self.
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   737
	    (scrollBarPosition == #right) ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   738
		scrolledView origin:scrolledView borderWidth negated asPoint
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   739
	    ] ifFalse:[
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   740
		scrolledView origin:((scrollBar width + 
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   741
				      scrollBar borderWidth - 
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   742
				      scrolledView borderWidth) 
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   743
				    @ 
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   744
				    scrolledView borderWidth negated)
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   745
	    ].
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   746
	    scrolledView extent:[(width - scrollBar width - scrolledView borderWidth) 
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   747
				 @ 
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   748
				 (height + (scrollBar borderWidth))
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   749
				]
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   750
	].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   751
    ].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   752
    scrolledView notNil ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   753
	self setScrollActions.
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   754
	"
113
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   755
	 pass my keyboard input (and other subviews input) 
fdd18cfff57e *** empty log message ***
claus
parents: 110
diff changeset
   756
	 to the scrolled view ...
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   757
	"
122
claus
parents: 119
diff changeset
   758
	self delegate:(KeyboardForwarder toView:scrolledView).
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   759
    ]
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   760
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   761
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   762
realize
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   763
    super realize.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   764
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   765
    "since scrolledview may have done something to its contents
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   766
     during init-time we had no chance yet to catch contents-
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   767
     changes; do it now
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   768
    "
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   769
    scrolledView notNil ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   770
	scrollBar setThumbFor:scrolledView
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   771
    ]
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   772
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   773
7
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   774
!ScrollableView methodsFor:'private'!
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   775
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   776
setScrollActions
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   777
    "lock prevents repositioning the scroller to the
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   778
     actual (often rounded) position while scrolling,
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   779
     and keeps it instead at the pointer position.
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   780
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   781
     (this avoids run-away scroller when scrolling
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   782
      textviews, when the text is aligned line-wise).
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   783
      Consider this as a kludge."
7
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   784
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   785
    lockUpdates := false.
7
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   786
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   787
    scrollBar scrollAction:[:position |
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   788
	lockUpdates := true.
59
450ce95a72a4 *** empty log message ***
claus
parents: 53
diff changeset
   789
	scrolledView scrollVerticalToPercent:position.
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   790
	lockUpdates := false
7
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   791
    ].
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   792
    scrollBar scrollUpAction:[scrolledView scrollUp].
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   793
    scrollBar scrollDownAction:[scrolledView scrollDown].
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   794
65
b33e4f3a264e *** empty log message ***
claus
parents: 63
diff changeset
   795
    scrolledView addDependent:self.
7
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   796
! !
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   797
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   798
!ScrollableView methodsFor:'queries'!
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   799
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   800
preferredExtent
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   801
    scrolledView notNil ifTrue:[ 
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   802
       | pref |
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   803
       pref := scrolledView preferredExtent.
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   804
       ^ (pref x + scrollBar width + (innerMargin * 2)) @ pref y.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   805
    ].
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   806
    ^ super preferredExtent.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   807
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   808
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   809
!ScrollableView methodsFor:'slave-view messages'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   810
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   811
doesNotUnderstand:aMessage
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   812
    "this is funny: all message we do not understand, are passed
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   813
     on to the scrolledView - so we do not have to care for all
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   814
     possible messages ...(thanks to the Message class)"
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   815
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   816
     scrolledView isNil ifFalse:[
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   817
	 ^ scrolledView perform:(aMessage selector)
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   818
		  withArguments:(aMessage arguments)
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   819
     ]
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   820
!
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   821
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   822
leftButtonMenu
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   823
    "return scrolledViews leftbuttonmenu"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   824
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   825
    scrolledView isNil ifTrue:[^ nil].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   826
    ^ scrolledView leftButtonMenu
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   827
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   828
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   829
leftButtonMenu:aMenu
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   830
    "pass on leftbuttonmenu to scrolledView"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   831
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   832
    scrolledView leftButtonMenu:aMenu
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   833
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   834
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   835
middleButtonMenu
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   836
    "return scrolledViews middlebuttonmenu"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   837
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   838
    scrolledView isNil ifTrue:[^ nil].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   839
    ^ scrolledView middleButtonMenu
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   840
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   841
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   842
middleButtonMenu:aMenu
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   843
    "pass on middlebuttonmenu to scrolledView"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   844
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   845
    scrolledView middleButtonMenu:aMenu
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   846
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   847
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   848
rightButtonMenu
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   849
    "return scrolledViews rightbuttonmenu"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   850
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   851
    scrolledView isNil ifTrue:[^ nil].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   852
    ^ scrolledView rightButtonMenu
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   853
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   854
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   855
rightButtonMenu:aMenu
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   856
    "pass on rightbuttonmenu to scrolledView"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   857
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   858
    scrolledView rightButtonMenu:aMenu
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   859
! !
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 7
diff changeset
   860
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   861
!ScrollableView class methodsFor:'documentation'!
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   862
217
c208ce696327 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   863
version
444
ef26eba8c854 added style resource directive
Claus Gittinger <cg@exept.de>
parents: 300
diff changeset
   864
    ^ '$Header: /cvs/stx/stx/libwidg/Attic/ScrView.st,v 1.25 1996-03-01 13:07:13 cg Exp $'
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   865
! !