Re: scrolling and child widgets

On Wed, Oct 06, 1999 at 01:55:37PM +0000, Robert Roebling wrote:
>   Hi,
> I have a problem with GTK (any stable version) that is so involved,
> that I send its descrition to this list, instead of the user list, 
> please forgive if this is a sacrilege.
> I need to be able to draw into a big scrollable window and this 
> window also needs to have children (which also get scrolled).
> Think of a HTML window that is quite large and has a few forms
> in it. Also think of me as knowing GTK quite well.
> When I use a normal GtkScrolledWindow and insert a normal window
> (GtkFixed, for example, to contain the children) the size of the
> window is limited to the size of an X window (as you certainly
> know). Although X window are quite large, they aren't large enough
> for my purpose. So I use the "reverse" way of scrolling, i.e. I don't
> scroll the window, I scroll the window contents and I set the GC
> exposure flag to true so as to get the correct expose events upon
> scrolling. No problems with this so far.
> But now I want to add subwindows (like HTML forms) to the window
> and I'd like to just move the windows up and down (and sideways)
> to reflect scrolling events and the GTK's widgets' X windows would
> move and send the required expose events. As you may know, GTK
> does not work this way (widgets sometimes don't have any windows,
> or several of them) and all my attempts so far produce zillions
> of unnecessary expose and draw events. Am I right that GTK's design
> makes it unsuited for the approach I described, i.e. I have to move
> the underlying X window? 
> If so, how can I overcome the X window size limitation? 

  May be you should try the GtkLayout widget. Its purpose is exactly what
you want. You'll find an example on how to use this in testgtk.c



Drew: Your taxes come to $320.
Stu: $320? How could it be?
Drew: Oops. Forgot the decimal point. That actually comes to $32,000.

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