I have been using FLTK (or GLUT, sigh) as my GUI of choice for years now, and I thought I'd give GTK (and Qt) look at what more "professional" and "modern" systems have to offer.
They both generally look very good, and they are used by a ton of great software, so it stands to reason they have something going for them.
In my look into gtk, I'm a little frustrated, however, and I was wondering if perhaps some folks here could help me out.
I am a scientific computing and graphics type, and that's the sort of app I am usually writing. I often am trying to visualize things, which means I use a fair amount of OpenGL (and some Cairo, too).
To begin with, gtk3 doesn't seem to have opengl support - neither out of the box (why?) nor in the gtkglext project, which doesn't appear to be actively developed. Anybody know why? FLTK has very good GL support, as does KDE. I understand that my needs might be different than the mainstream, but isn't GL portable and useful? Am I missing something - is support readily available?
Next, do people really write their own widget subclasses (for C) in GObject? It is par for the course in FLTK, and most other modern toolkits, as far as I can tell, to make it simple to define your own subclasses of existing widgets. I appreciate that GObject aims to solve the troublesome problem of not having object orientation built into C, but even if it is not a fun endeavor, I can't even seem to find any tutorials or code that actually go through the process of subclassing a GObject for a widget. Googling around shows a bunch of examples of Python and C#, which isn't really surprising, but it doesn't really help me.
So, what do you you? What is common practice? If you were going to write a modest-sized GTK app that needed openGL support, how would you go about it? Should I be using the more stable an established gtk2? Do you all actually write full apps in C? How do you cope with the pain of native GObject? Is gtkmm preferable if you don't mind c++?
I'm just trying to get a feel for things. I'm a little surprised at the poor documentation and support that I have found for gtk, given it's prominent position in the FOSS community.