-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 4/11/2006 2:00 PM, Andreas Kotowicz wrote:
> On Tue, 2006-04-11 at 17:02 -0400, Tristan Van Berkom wrote:
>> Andreas Kotowicz wrote:
>> [...]
>>> ok, I think I understand now. but somehow it seems that my class has
>>> some mistake in it (see attachment). I'm calling it like this in my
>>> code:
>>>
>>> ********
>>> .
>>> .
>>> window->priv->object = app_calendar_new ();
>>>
>>> gtk_box_pack_end (GTK_BOX (main_box),
>>>   GTK_WIDGET(window->priv->object),
>>>   TRUE, 
>>>   TRUE, 
>>>   0);
>>> .
>>> .
>>> ********
>>>
>>> all objects before and after this code get created and displayed
>>> correctly, only my self made object refuses to show up.
>>>
>> Is it visible ? i.e. did you call gtk_widget_show() on the calendar ?
> 
> sure (ok, I just realized that my attachments did get removed from my
> last email). so here's the relevant code:
> 
> static void
> app_calendar_class_init (AppCalendarClass *klass)
> {
> 
>   GObjectClass *object_class = G_OBJECT_CLASS (klass);
>   
>   g_type_class_add_private (object_class, sizeof(AppCalendarPrivate));
> }
> 
> static void
> app_calendar_init (AppCalendar *calendar)
> {
> 
>   gint i;
>   calendar->priv = APP_CALENDAR_GET_PRIVATE (calendar);
> 
> 
>   /* some widgets to test with 
>      the calender stuff will be inserted later on 
>      not using calendar-> priv here yet as things don't work */
> 
>   GtkWidget *main_box, *hbox, *label;
>   main_box = gtk_hbox_new (FALSE, 0);
>   gtk_widget_show (main_box);

Why are you creating 'main_box'?  Your AppCalendar *is* the main box.

>   hbox = gtk_hbox_new(TRUE, DEF_PAD);
>   gtk_box_pack_start (GTK_BOX (main_box), hbox, TRUE, TRUE, 0);
>   gtk_widget_show (hbox);

At this point, you'd just add hbox to your AppCalendar:

gtk_box_pack_start(GTK_BOX(calendar), hbox, TRUE, TRUE, 0);

This is of course assuming that your AppCalendar is a subclass of
GtkHBox, which is I think what you want to be doing here.

>   label = gtk_label_new("text from AppCalendar");
>   gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
>   gtk_widget_show (label);
> 
>   g_message("called app_calendar_init");
> 
> }
> 
> 
> GtkWidget *
> app_calendar_new (void)
> {
>   return GTK_WIDGET (g_object_new (APP_TYPE_CALENDAR, NULL));
> }
> 
> 
> 
>> Also, where are you doing that code ? from a constructor or an instance
>> init func ?
> 
> instance init func:
> 
>  window->priv->object = app_calendar_new ();

And don't forget to call:

gtk_widget_show(window->priv->object);

here.

>  gtk_box_pack_end (GTK_BOX (main_box),
>   GTK_WIDGET(window->priv->object),
>   TRUE, 
>   TRUE, 
>    0);
> 
> /* this get's displayed correctly */
> 
>   GtkWidget *hbox, *label;
>   hbox = gtk_hbox_new(TRUE, DEF_PAD);
>   label = gtk_label_new("text from MainWindow");
>   gtk_box_pack_end (GTK_BOX (main_box), label, TRUE, TRUE, 0);
> 
> 
> 
> ok, I hope these were all relevant parts. 

That should make it work ok.

        -brian


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (MingW32)

iD8DBQFEPBni6XyW6VEeAnsRAhi6AJ0dl0gmpWDroJ5L5/qz++PsJ18OgQCgniVD
8xN346taQS8H258E6mCpOJw=
=bGdL
-----END PGP SIGNATURE-----
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to