Is there any reason why you couldn't do something slightly different by
retrieving the gdkwindow of the widget after it's been created like this;
> void create_param_window(GtkWidget *widget)
{
/* Declaring local variables */
static GdkWindow *window = (GdkWindow *) NULL;
/* Return if window already exists */
if ( window )
{
gdk_window_raise(window);
return;
}
/* Creating new window */
ParamWindow *NewParamWindow = new_ParamWindow(widget);
window = GTK_WIDGET(widget)->window;
gtk_widget_show(NewParamWindow->GetWidget());
}
-- Stupid Genius
> ----------
> From: Ignacio Nodal[SMTP:[EMAIL PROTECTED]]
> Sent: Friday, February 23, 2001 4:43 AM
> To: [EMAIL PROTECTED]; GTK-List
> Subject: Re: RV: Avoiding multiple child-windows
>
> The problem is that i'm using a class to create this new window. In my
> main.cpp I have this:
>
> gtk_signal_connect_object (GTK_OBJECT(button), "clicked",
> GTK_SIGNAL_FUNC(create_param_window),
> GTK_OBJECT (window));
>
>
> And the callback create_param_window look like this:ç
>
> void create_param_window(GtkWidget *widget)
> {
> ParamWindow* NewParamWindow = new ParamWindow(widget);
> gtk_widget_show(NewParamWindow->GetWidget());
> }
>
> (With GtkWidget* GetWidget() { return _pwindow; } in my ParamWindow.h )
>
> And it's the constructor of the ParamWindow class who makes
> _pwindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
>
> So, I want to create only one "ParamWindow" when THIS button is clicked,
> but maybe I want to create later another window using my ParamWindow
> class for any other purpose.
> Is there anyway to do this? It's quite important for the project I'm
> working in.
>
> Thanks,
>
> Ignacio Nodal
>
>
> > ----- Original Message -----
> > From: Dugas, Alan <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>; Ignacio Nodal <[EMAIL PROTECTED]>
> > Sent: Thursday, February 22, 2001 4:39 PM
> > Subject: RE: Avoiding multiple child-windows
> >
> >
> > You could try something like this;
> >
> > /* Declaring local variables */
> > static GtkWidget *window = NULL;
> > ...
> >
> > /* Return if window already exists */
> > if ( window )
> > {
> > gdk_window_raise(GTK_WIDGET(window)->window);
> > return;
> > }
> >
> > /* Creating window */
> > window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
> > ...
> >
> > [Note: make sure you set window == NULL in your destroy callback for the
> > window,
> > otherwise you will not be able to create the window again if the user
> > destroys
> > it!]
> >
> > Hope this helps.
> >
> >
> >
> > -- Stupid Genius
>
>
_______________________________________________
gtk-list mailing list
[EMAIL PROTECTED]
http://mail.gnome.org/mailman/listinfo/gtk-list