\ ob.numeric.grid+
\
\ ctrl_numeric+
\ class of numeric.grid that fixes a bug when get.enable: returns false.
\
\ code: Han-earl Park
\ copyright 2004 buster & friends' C-ALTO Labs
\ (Southampton, October 2000 -
\
\ MOD: HeP 10/02/00 Started project.
\ MOD: HeP 10/18/00 Sets font size before drawing number.
\ MOD: HeP 04-08-04 Also sets font. Can set different font for the number.
anew task-ctrl_numeric+
method PUT.NUMBER.FONT: method GET.NUMBER.FONT:
:class ob.numeric.grid+ iv-cg-number-font
;m
:m PUT.NUMBER.FONT: ( n -- )
iv=> iv-cg-number-font
;m
:m GET.NUMBER.FONT: ( -- n )
iv-cg-number-font
;m
:m DRAW.PART: ( part -- , draw a single part of a control )
>r
\
\ Use smaller characters or color 2 if the cell is disabled.
r@ get.enable: self 0=
IF r@ gr.start.dim
THEN
service.tasks
\
gr.font@ \ MOD: HeP
\
iv-cg-number-font gr.font! \ MOD: HeP
iv-cg-text-size gr.height! \ MOD: HeP
\
\ Position in cell
r@ cg.part.topleft
iv-cg-text-size + 1+ swap \ -- y x
r@ get.value: self n>text gr.textlen - \ right justify
\
\ move in farther if using 3D bevel, 00001
cg-3d @
IF
cg-bevel-thickness @ -
ELSE
1-
THEN
iv-cg-width + swap gr.move
\
\ Draw number
\
\
r@ get.value: self gr.number
r@ get.enable: self 0=
IF r@ gr.end.dim \ MOD: HeP
THEN
rdrop
\
gr.font! \ MOD: HeP
;m
:m MOUSE.UP: ( x y -- , process mouse UP event )
ev.track.off
iv-cg-lasthit clear.part: self \ method redefined because these calls
iv-cg-lasthit draw.part: self \ are not late bound.
mouse.up: super-dooper \ call super-dooper instead of super
;m
;class