[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: implementing a container??



On Sat, 2003-04-26 at 20:21, Jim Crafton wrote:
> I am using gtk in my framework for it's linux port.
> In the framework that I have written I already have code that does 
> repositioning of child controls based on alignment and or anchors.
> So my question is, what is the best approach for using GtkWidgets and 
> positioning them with absolute coordinates (with the alignment/layout 
> being taken care of by my framework)? I have experimented with the fixed 
> container, and this seems very similar to what I want, but I am a bit 
> confused as to how best to use it.
> For example
> if i want to move a child control (that has been added to the fixed 
> container) what is the "correct" way to do it?
> I can use the gtk_fixed_move for x and y coordinates and then use 
> gtk_widget_set_size_request() to set the width and height.

I believe that is is the normal way to do it.

> But is there a better way? Should I make a special container class to 
> handle this(I notice that this appears to have been what wxWindows did 
> for their port)?

If you want to do anything at all complex, generally implementing 
a new container is right; if you use a GtkFixed, it's going to be
inefficient, and it's pretty much impossible to get positioning
that depends on the size of the children widgets right.

Implementing a container isn't that hard ... the only virtual methods
you need to implement are, I think, size_request(), size_allocate(), 
forall(), and remove(). 

(child_type() and add() are theoretically needed as well, but as your
widget is just being used in your framework, I doubt you'll need them.)

Regards,
                                                 Owen





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]