Re: Need help with window-state-event
- From: Bernhard Schuster <schuster bernhard googlemail com>
- To: Dipesh Sudershan <d1p3shn0mad gmail com>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: Need help with window-state-event
- Date: Sun, 20 Nov 2011 12:57:21 +0100
2011/11/20 Dipesh Sudershan <d1p3shn0mad gmail com>:
On Sun, 2011-11-20 at 12:29 +0100, Bernhard Schuster wrote:
2011/11/20 Dipesh Sudershan <d1p3shn0mad gmail com>:
On Sun, 2011-11-20 at 11:55 +0100, Bernhard Schuster wrote:
Screw it, replace the "|" with an "&". Sorry screwed this up.
Regards
This is working fine. But i still can't solve the problem i have.
I have a gtkimage inside an eventbox. the eventbox inside a gtklayout
and finally the gtklayout inside a scrolledwindow. When the toplevel
window is maximized, i requested for allocated size of the gtkimage,
eventbox, gtklayout and scrolledwindow. the allocated sizes were the
same as when the window was unmaximized. When the window is maximized,
shouldn't the sizes of the childwidgets expand?
gtk_box_pack_start(GTK_BOX(vbox), scrolledwindow, TRUE, TRUE, 0);
This is how the scrolledwindow is packed into the main window.
To get the size in Gtk 2.x you need to create a workaround as shown in
this examples (code I wrote & used some time ago for a legacy gtk2
project), size allocation returns not what you desire:
http://pastie.org/2892251 & http://pastie.org/2892254
In the gtk3 there is a simple function call: http://pastie.org/2892267
Both work just fine
Regards
Bernhard Schuster
I'm using gtk-3.0. gtk_widget_get_allocated width and
gtk_widget_get_allocated height are not working. I'm not get getting the
size of the child widgets when the main window is maximized.
I will try to explain better..
I have a gtkwindow which contains the scrolled window.
I have connected configure-event with the gtkwindow and that works fine.
I get correct allocated sizeds from the functions mentioned above.
But with the window-state-event, i'm not getting correct values.
here's the code for the window-state-event handler function..
static gboolean window_state_event_handler(gtkWidget *widget,
GdkEventWindowState *event) {
if ( event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED ) {
 Âint width, height;
 Â//GtkAllocation allocate;
 Â//gtk_widget_get_allocation(currentjob->mw->scrolledwindow,&allocate);
 Â//width = allocate.width;
 Â//height = allocate.height;
 Âwidth = gtk_widget_get_allocated_width(currentjob->mw->layout);
 Âheight = gtk_widget_get_allocated_height(currentjob->mw->layout);
 Âprintf("%dx%d\n", width, height);
}
return FALSE;
}
Try to make it the callback execute last within the event loop (use
the g_signal_connect_run_last or similar), this may fix (totally wild
guessing).
Regards
Bernhard Schuster
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]