Braedley writes:
> I want to put a small logo in a draw widget at the bottom left hand
> corner of a tab. The only other thing in the tab is a series of
> labels. Right now, the draw widget is being placed just below the
> text, and not at the very bottom of the tab like I would like. Summery
> of code:
>
> read_jpeg, 'logo.jpg', logo
>
> base=widget_base(title='Wizard', /col)
>
> tab_steps=widget_tab(base)
> intro=widget_base(tab_steps, title='Introduction', row=2, xsize=600,
> ysize=400)
> text_base=widget_base(intro, /base_align_left, col=1)
> t1='This wizard will help you set up stuff.'
> l1=widget_label(text_base, value=t1)
> ;there's more labels, but who cares
>
> sz=size(logo)
> draw_base=widget_base(intro, /align_left, /base_align_bottom)
> logo_win=widget_draw(draw_base, xsize=sz[2], ysize=sz[3],
> /align_bottom)
>
> widget_control, base, /realize
> widget_control, logo_win, get_value=win
> wset, win
> tvimage, logo, /keep_aspect_ratio
>
> I've tried various combinations of alignments, but nothing seems to
> work. Any suggestions?
The main problem you are having is that you cannot position
widgets in bulletin board bases in the way you are doing it
(I.e., by setting ALIGN_*** keywords). You have to position
them via OFFSETS from the upper-left hand corner of the base
you are positioning them into. For example, I can get this
logo hear the bottom of the base just by estimating the offsets.
(If I want to get it *exactly* there, I have to get the geometry
of the base and subtract the size of the image from that.)
base=widget_base(title='Wizard', /col)
tab_steps=widget_tab(base)
intro=widget_base(tab_steps, title='Introduction', row=2, $
xsize=600,ysize=400)
text_base=widget_base(intro, /base_align_left, col=1)
t1='This wizard will help you set up stuff.'
l1=widget_label(text_base, value=t1)
;there's more labels, but who cares
sz=size(logo)
draw_base=widget_base(intro, /align_left, /base_align_bottom)
logo_win=widget_draw(draw_base, xsize=sz[2], $
ysize=sz[3],xoffset=0, yoffset=375-sz[3])
widget_control, base, /realize
widget_control, logo_win, get_value=win
wset, win
tvimage, logo, /keep_aspect_ratio
> While I'm on it, I'm getting black lines around the bottom and left of
> the image that aren't present in the original. Is this a tvimage thing
> or something else?
I don't see any black lines. I doubt if it is a TVImage thing. :-)
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|