On Fri, 23 Jan 2015 21:06:05 +0100 Sébastien Wilmet <swil...@gnome.org> wrote: > Uh, it's quite the contrary IMHO. If a developer chooses the C > language and wants to write a GTK+ application, it's advised to write > GObject classes to have a good code architecture. Look at gedit for > instance, it's full of GObject classes. You create a subclass of > GtkApplication, a subclass of GtkWindow for your main window, > subclasses of GtkGrid or GtkBox for some other components that you > have in your application, etc. Without GObject, you can write > structs, allocate them and pass a pointer as the self argument, but > GObject is much more powerful. It's interesting to create signals for > example.
You are looking at it from the perspective of a GTK+ developer and not an application developer. Application developers not providing applications specifically for the gnome stack almost never need to sub-class the library-provided GTK+ widgets. For example, contrary to what you think, they do not sub-class GtkWindow for their main window. Instead they use the (generally) perfectly adequate GTK+ container system to put things in GtkWindow objects, or in library-provided sub-classes of GtkWindow. If they want to be particularly rigorous, they may provide a convenience factory function for the purpose. If that doesn't work they probably use another toolkit, because OO with GObject is a pain for the application developer writing in C (and as I say, normally completely unnecessary). Nor for that matter would they normally sub-class GtkApplication: they just connect to GApplication signals to customize behaviour. Only in very specialized circumstances is derivation necessary in the average application. Chris _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-devel-list