Re: [gtkmm] Gtkmm or Qt?
- From: Jeff Gavin <jeff ezclick net>
- To: Roger Leigh <roger whinlatter uklinux net>
- Cc: Ruediger Sonderfeld <cplusplushelp gmx net>, gtkmm-list gnome org
- Subject: Re: [gtkmm] Gtkmm or Qt?
- Date: Tue, 26 Aug 2003 17:59:26 -0500
Roger Leigh wrote:
Ruediger Sonderfeld <cplusplushelp gmx net> writes:
I don't know QtDesigner. But I think Glade isn't really usefull because writing the code
is sepperated from the design process.
First you have to design the GUI and than you can write your Code in the Code generated by Glade.
If you have to change the GUI you have a problem because you must regenerate the
code and then merge your code into the code generated by glade
(or I never realised how to use glade a better way)
Use libglademm to load the Glade interface at run-time. This way you
have complete separation between the UI design and implementation
(Glade is not used to generate *any* code).
I agree. We use glade to develop the user interface, Anjuta/vi to
develop the source code (Gtkmm/libglademm/C++), ddd to debug, mysql for
database access, cvs to manage the source, Open Office to write
documentation, MrProject for tracking the schedule, and Linux
workstations to avoid the latest virus-de-jour.
And most important of all, we use our BRAIN to design and write
programs. Don't let the tools you use to program get in the way of your
brain:
1. I didn't like the code that Glade put out. Solution: use libglademm
to process the glade/xml file.
2. I think the Anjuta integrated debugger is flaky. Solution: use ddd.
3. Anjuta did not have a way to build multiple executables in the same
project. Solution: Set Anjuta to not update the Makefile.am, and modify
it manually.
4. The people outside my office talk to loud and distract me from
writing software. Solution: Close the door.
5. Something causes me to not be productive in producing software.
Solution: fix the problem if I have control over what's causing it, or
find an acceptable work-around.
This fits with the 'UNIX' way of doing things. Use simple tools to do
simple and focused tasks, and then combine the tools together to do
something more complex than you can ever do with a single tool. If you
don't agree with this concept, then you should invest your time and
money in Visual Studio .NET.
We currently have 23 glade files that contain the XML for specific parts
of the user interface (it's a niche database application with lots of
data). A C++ class (.h/.cc) is associated to the glade file by having
the same name. When objects of this class are created, the XML file is
read, and the widgets are tied to their callbacks. A separate class
manages access to the database. The two classes 'work' together through
the magic of C++ inheritance. The database class is the base class and
can (and is) used by multiple window classes that present/manipulate the
data in different ways). It's not rocket science, but it can be
complicated, and the C++ inheritance mechanism helps us manage the
complexity. Blah, blah, blah, blah.
I could go on and on about how great our development environment is. We
used to developed software using MS-VB-MSSQL-ACCESS-CrystalReports-
SourceSafe-DailyReboots-RandomIllegalOps and it was terrible.
I have also personally developed software using
UNIX/Ada/Rational/ISO9000/6-Sigma/SEI-III and it was good, but not as
good as what I'm doing today.
The single most important decision that we have made to date is to
develop on Linux. Our development server is used by 2 full-time and 2
part-time programmers and currently has been up for 118 days. We
started the project about 115 days ago. Our production server (running
a character based internal application) has been up for 381 days. The
only people saying 'Wow!' and 'No Way!' right now have never used Linux
before. (The rest of you are lookin' at your uptimes to see if you can
beat mine). We have around 8000 lines of XML and around 15000 lines of
C++ ... and growing.
Now, back to designing and writing code.
Regards,
Jeffrey S. Gavin
P.S. I am not a C++/UNIX expert, I just pretend to be one when I'm not
playing DAOC.
I wrote a short tutorial on this
(<URL:http://www.whinlatter.uklinux.net/gtk/ogcalc-1.0.1.tar.bz2>).
I'm sure there are much better documents around, though!
Regards,
Roger
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]