So the really question becomes, how to get `g_type_ensure` generated in output code when subclassing Widgets in Vala ?
2015-10-05 17:54 GMT-03:00 Victor Aurélio Santos <victoraur.san...@gmail.com>: > Emmanuele, > >> In order to do that, you should use `g_type_ensure()` inside the > instance initialization function of the parent's widget class > > Since using Vala, from what I can see in case of using [GtkTemplate] > the g_type_ensure is generated, but when just subclassing a GtkWidget > it doesn't exists in the generated .c, am I right ? > > And what I can do to g_type_ensure be present in generated .c in the > second case ? > > Thanks. > > 2015-10-04 10:40 GMT-03:00 Emmanuele Bassi <eba...@gmail.com>: >> Hi; >> >> On 3 October 2015 at 02:14, Victor Aurélio Santos >> <victoraur.san...@gmail.com> wrote: >>> How can I do that ? >>> Just build all together results in this warning: >>> >>>> (ajami:3475): Gtk-CRITICAL **: Error building template class >>>> 'AjamiMainWindow' for an instance of type 'AjamiMainWindow': Invalid >>>> object type 'HVMeter' on line 2 >>> >>> I've asked on SO[1] and got only one answer. >>> >>> I stick at "_get_type" workaround/hack but I didn't like it and I >>> can't do the same thing in Vala (I've not found how to do the same >>> thing). >>> >>> More details can be found on SO question. >>> >>> So, what I really want to know is what is the best option to >>> accomplish this in Vala and in C too. >>> >>> [1]: >>> http://stackoverflow.com/questions/24235937/custom-gtk-widget-with-template-ui >> >> If you have an internal, private widget that you use as a child in a >> template, you'll need to ensure that the type system knows about the >> child widget's type before initializing the template that references >> it. >> >> In order to do that, you should use `g_type_ensure()` inside the >> instance initialization function of the parent's widget class, right >> before calling `gtk_widget_init_template()`; for instance: >> >> g_type_ensure (hv_meter_get_type ()); >> >> This is also what GTK+ itself does: >> https://git.gnome.org/browse/gtk+/tree/gtk/gtkfilechooserwidget.c#n8598 >> >> Ciao, >> Emmanuele. >> >> -- >> https://www.bassi.io >> [@] ebassi [@gmail.com] > > > > -- > Victor Aurélio Santos -- Victor Aurélio Santos _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list