[Gtk-sharp-list] Text input in drawing area

Michael Hutchinson m.j.hutchinson at gmail.com
Sun Jan 17 01:43:19 EST 2010


On Mon, Jan 11, 2010 at 6:51 PM, Piotr Zurek <p.zurek at gmail.com> wrote:
> Hi Michael,
>
> On Tue, Jan 12, 2010 at 12:18, Michael Hutchinson
> <m.j.hutchinson at gmail.com> wrote:
>> It's perfectly possible to have a custom widget position a child entry
>> directly. You don't necessarily need the Fixed to do this for you.
>
> Any idea where I could find a bit more information on how to do it or
> maybe an example of a project that is doing it?

I can't think of any examples of exactly this, but the basic idea is
that you're just implementing a special container that only sometimes
shows its child and shows it at different positions.

Because you're only using the child in a very limited way, you can
probably just subclass Bin and stuff the child in that, so it does the
bulk of work of propagating mapping, realization, destroying, etc. to
the child. Then, on the expose event of your widget, you have to check
the child state depending on the state of your widget. You may have to
set its visible state, or give it a requisition if its position has
changed, then propagate the expose. Or you could subclass Alignment,
and use the xpad/ypad to handle the positioning. Then you'd just have
to handle giving your widget a GdkWindow and overriding the expose and
allocation like usual. Just make sure you make the PropagateExpose
calls so the child is exposed too.

Something like that, anyway.

I think the Medsphere GTK# widget have some containers written in
managed code you could look at.

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Gtk-sharp-list mailing list