Thanks Richard,

I could make it work with gtk_window_resize. No flicker. Great!

However, the manual states that gtk_window_resize must use sizes greater or 
equal than those given to gtk_widget_size_request when top window is 
initialised, suggesting the following small modification.

Setting top window:
[code]
...
   gtk_window_set_title (GTK_WINDOW (window), title );
   gtk_widget_set_size_request (window, wdavail, smallheightval ); //request 
works
   gtk_window_resize ( (GtkWindow *)window, wdavail, htavail ) ;   // to full 
height-  works
   gtk_window_move ( (GtkWindow *)window, 0 , 0 );  // still works
...
   gtk_widget_show_all (window);
[/code]

where smallheightval is smaller than or equal to the reduced height.

Reducing height of top window:
[code]
...
  gtk_window_resize (window, wdavail, reducedheight );  // works now
...
[/code]

Restoring full size of top window:
[code]
...
  gtk_window_resize (window, wdavail, htavail );  // works now
...
[/code]


Again many thanks.

Ken


--- On Sat, 27/3/10, richard boaz <[email protected]> wrote:

From: richard boaz <[email protected]>
Subject: Re: How to change the height of the top window from a program?
To: "Ken Resander" <[email protected]>
Cc: [email protected]
Date: Saturday, 27 March, 2010, 7:03 PM

i would think about embedding the dialog window you want at the bottom within 
the top window itself.  hiding and unhiding then, you can easily achieve the 
effect you want.
that is, unless the dialog *must* be its own separate top window.  is this true?


on the other hand, try using gtk_window_resize() instead, it will work 
where gtk_widget_set_size_request() is failing.


richard

On Sat, Mar 27, 2010 at 11:52 AM, Ken Resander <[email protected]> wrote:


The top window has a menu and a single textview. This window uses all of the 
available area on the screen, but sometimes it has to make room for a dialog 
window that that needs to be just below. When the dialog window is no longer 
needed the top window should expand and reclaim the space at the bottom. 



I want to do this by reducing and increasing the height of the top window by 
the program, but I cannot make it work. 

Setting top window:
[code]
...
   gtk_window_set_title (GTK_WINDOW (window), title );


   gtk_widget_set_size_request (window, wdavail, htsrcwnd ); // request works
   gtk_window_move ( (GtkWindow *)window, 0 , 0 );   //  works
...
   gtk_widget_show_all (window);
[/code]

Reducing height of top window:


[code]
...
 
 gtk_widget_set_size_request (window, wdavail, reducedheight );  // request 
ignored
...
[/code]
So, the height of the top window remains as initialised.

I can destroy window by gtk_widget_destroy and then recreate another top window 
with reduced height and then place the dialog window at the bottom. However, 
this is ugly and irritating because the top window destroy and immediate 
recreate are clearly visible.



How can I make the transition a bit smoother?



        Get your new Email address!  

Grab the Email name you've always wanted before someone else does!
_______________________________________________

gtk-list mailing list

[email protected]

http://mail.gnome.org/mailman/listinfo/gtk-list







      New Email addresses available on Yahoo!
Get the Email name you&#39;ve always wanted on the new @ymail and @rocketmail. 
Hurry before someone else does!
http://mail.promotions.yahoo.com/newdomains/aa/
_______________________________________________
gtk-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to