TabSpecRuler.st
author Claus Gittinger <cg@exept.de>
Fri, 09 Feb 1996 02:42:03 +0100
changeset 125 db1c1a8e0384
parent 86 4d7dbb5f1719
child 200 e1ba0782f37c
permissions -rw-r--r--
oops - debugPrints
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
38
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
     1
"
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
     2
 COPYRIGHT (c) 1994 by Claus Gittinger
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
     3
	      All Rights Reserved
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
     4
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
     5
 This software is furnished under a license and may be used
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
     6
 only in accordance with the terms of that license and with the
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
     8
 be provided or otherwise made available to, or used by, any
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
     9
 other person.  No title to or ownership of the software is
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    10
 hereby transferred.
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    11
"
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    12
29
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    13
'From Smalltalk/X, Version:2.10.4 on 18-nov-1994 at 12:07:44'!
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    14
49
claus
parents: 40
diff changeset
    15
SimpleView subclass:#TabSpecRuler
29
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    16
	 instanceVariableNames:'tabSpec titleEntry handleStyle'
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    17
	 classVariableNames:'DefaultHandleStyle'
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    18
	 poolDictionaries:''
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    19
	 category:'Views-Misc'
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    20
!
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    21
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    22
!TabSpecRuler class methodsFor:'documentation'!
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    23
38
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    24
copyright
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    25
"
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    26
 COPYRIGHT (c) 1994 by Claus Gittinger
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    27
	      All Rights Reserved
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    28
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    29
 This software is furnished under a license and may be used
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    30
 only in accordance with the terms of that license and with the
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    31
 inclusion of the above copyright notice.   This software may not
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    32
 be provided or otherwise made available to, or used by, any
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    33
 other person.  No title to or ownership of the software is
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    34
 hereby transferred.
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    35
"
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    36
!
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    37
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    38
version
86
4d7dbb5f1719 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    39
    ^ '$Header: /cvs/stx/stx/libwidg2/TabSpecRuler.st,v 1.6 1995-11-11 16:29:29 cg Exp $'
38
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    40
!
858ec30d05fe *** empty log message ***
claus
parents: 36
diff changeset
    41
36
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    42
documentation
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    43
"
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    44
     this class is not yet finished.
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    45
"
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    46
!
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    47
29
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    48
examples
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    49
"
36
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    50
	|top head spec|
29
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    51
36
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    52
	top := View new.
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    53
	top extent:300@100.
29
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    54
36
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    55
	head := TabSpecRuler in:top.
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    56
	head width:1.0.
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    57
	head level:1.
29
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    58
36
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    59
	spec := TabulatorSpecification new.
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    60
	spec unit:#inch.
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    61
	spec positions:#(0     1     2.5    3.5    4       5        ).
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    62
	spec align:    #(#left #left #right #right #center #decimal ).
29
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    63
36
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    64
	head tabulatorSpecification:spec.
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    65
	top open.
29
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    66
"
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    67
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    68
! !
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    69
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    70
!TabSpecRuler class methodsFor:'defaults'!
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    71
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    72
updateStyleCache
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    73
    DefaultHandleStyle := StyleSheet at:'tabRulerHandleStyle'.
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    74
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    75
! !
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    76
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    77
!TabSpecRuler methodsFor:'redrawing'!
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    78
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    79
drawHandleAtX:x type:handleType
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    80
    "redraw a handle"
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    81
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    82
    handleStyle isNil ifTrue:[
36
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    83
	self displayLineFromX:x rounded
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    84
			    y:0
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    85
			  toX:x rounded
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    86
			    y:height - 1
29
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    87
    ]
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    88
!
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    89
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    90
redraw
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    91
    "redraw the handles from by tabSpec"
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    92
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    93
    |x|
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    94
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    95
    tabSpec isNil ifTrue:[^ self].
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    96
    1 to:tabSpec size do:[:i |
36
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    97
	x := tabSpec positionOfTab:i on:self.
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
    98
	x := x rounded.
29
b1663ac8f532 Initial revision
claus
parents:
diff changeset
    99
36
160b8f0dfd7d *** empty log message ***
claus
parents: 29
diff changeset
   100
	self drawHandleAtX:x type:(tabSpec typeOfTab:i).
29
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   101
    ]
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   102
! !
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   103
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   104
!TabSpecRuler methodsFor:'initialization'!
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   105
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   106
initStyle
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   107
    super initStyle.
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   108
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   109
    handleStyle := DefaultHandleStyle
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   110
!
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   111
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   112
initialize
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   113
    super initialize.
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   114
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   115
    self height:(font height + (2 * font descent)). 
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   116
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   117
    "
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   118
     TabSpecRuler new open
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   119
    "
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   120
! !
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   121
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   122
!TabSpecRuler methodsFor:'accessing'!
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   123
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   124
tabulatorSpecification:aTabSpec
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   125
    tabSpec := aTabSpec
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   126
! !
b1663ac8f532 Initial revision
claus
parents:
diff changeset
   127