Size Requesition of User Defined Widget



Hello all,
 
i have an application running in one toplevel window showing two different views:
The first is a schmetic overview with possibility of selecting graphical elements (network 
cameras), the second shows network video streams with mplayer which is embedded in
a table (two instances atm).
 
The views are created at program start and are switched due to user selection with the
gtk_widget_show/hide() commands. (View1=Selection is shown and View2=Stream is
hided initially). The implementation of mplayer is done by a wizard created (and modified) widget
(GtkMplayer, forkes a process with mplayer, provides init(), class_init(), destroy(), new() realize(),
size_request(), allocate() and expose(); the later four are overridden in the class).
 
When switching to View2 everything looks ok (Window 640x480, two QVGA-Streams in the upper
half of the window). Switching to View1 is also ok, but switching back to View2 the second time results
in a totally oversized window and the mplayer widget also resizes.
 
Debugging shows that the error occours when switching from View2 to View1: The Requisition of View2
changes at this moment (!?) to x=17110 and y=17106 and the window tries of course to match these
values when changing to View2.
 
Commenting out the signal bindings of the expose events and the overriden expose-function of the
gtkmplayer-widget avoids the error, but the mplayer isn´t shown then (the widget gets redrawn/the player
startet if not running in expose_event)
 
My question: Is there something special i might haven´t done in the class init so that the size request fails?
Or does somebody know a more appropriate way to show the different contents (e.g. toplevel windows?)
 
Best regards Markus
 
-----
Gersys GmbH, Hans-Urmiller-Ring 46c, D-82515 Wolfratshausen, Germany
Geschaeftsfuehrer: Erwin Sterzer, HRB 137 872 Muenchen, Fon: +49(0)8171 9986-6
 
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige 
Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und 
vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht 
gestattet.
 
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or 
have received this e-mail in error please notify the sender immediately and destroy this e-mail. Any 
unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.



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