Viewing contents of file '../idllib/contrib/tappin/graffer/graff_just.pro'
;+
; GRAFF_JUST
; Set "non-standard" text justification
;
; Usage:
; align = graff_just(initial, group=group)
;
; Return Value:
; align float The new justification setting
;
; Argument:
; initial float input The previous justification setting
; use_timer byte input Whether to use the timer events to
; keep it on top
;
; Keyword:
; group long input The widget ID of the caller.
;
; History:
; Original: 5/10/95; SJT
;-
function Just_event, event
widget_control, event.id, get_uvalue = but
widget_control, event.handler, get_uvalue = jsl
iexit = 0
alg = 0
case (but) of
'POP': begin
widget_control, event.top, /show
widget_control, event.id, timer = 2.
end
'JUST': alg = event.value
'DONE': begin
iexit = 1
widget_control, jsl, get_value = alg
end
endcase
return, {id:event.handler, top:event.top, handler:0l, value:alg, $
Exit:iexit}
end
function Graff_just, align, use_timer, group=group
widget_control, group, sensitive = 0
tlb = widget_base(group = group, title = 'Graffer alignment', $
resource = 'Graffer')
base = widget_base(tlb, /column, event_func = 'just_event')
jb = widget_base(base, /row, uvalue = 'POP')
junk = widget_label(jb, value = 'Left:')
jsl = cw_fslider(jb, value = align, min = 0., max = 1., /drag, uvalue $
= 'JUST', format = "(F5.3)")
junk = widget_label(jb, value = ':Right')
junk = widget_button(base, value = 'Done', uvalue = 'DONE')
widget_control, base, set_uvalue = jsl
widget_control, tlb, /real
if (use_timer) then widget_control, jb, timer = 2.
repeat ev = widget_event(base) until ev.exit
widget_control, ev.top, /destroy
widget_control, group, /sensitive
return, ev.value
end