Re: GNOME GTK-- Projects
- From: John R Sheets <dusk smsi-roman com>
- To: Erik Andersen <andersen inconnect com>
- CC: Gnome List <gnome-list gnome org>, Tero Pulkkinen <terop students cc tut fi>
- Subject: Re: GNOME GTK-- Projects
- Date: Mon, 01 Jun 1998 10:16:36 -0500
Erik Andersen wrote:
> And of course, Gtk-- _still_ has the stupid menufactory
> bug which means you cant hook anything up to the menus you create other
> then argumentless callbacks (which still give a warning)... And there is no
> exception handling in gtk--. So for instance if you do something like:
>
> char* szMsg[]="Some Text";
> Gtk_Text myTextObject;
> // Should call realize first to avoid error, since you can't
> // put text into an un-realized text widget.
>
> // Don't do it here which will cause an error
> // myTextObject.realize();
>
> myTextObject.insert(NULL, NULL, NULL, szMsg, sizeof(szMsg) );
Would it be practical to add a quick (boolean) check to the
Gtk_Text (or whichever objects need it) to see if the object has
been realized yet, and to auto-realize it if the code tries to
insert text into an un-realized object? For example,
Gtk_Text::insert (...)
{
if (!bRealized)
{
realize();
bRealized = TRUE; // or put this in realize()
}
[...]
}
I mean, granted, you could say that this might make gtk-- users
sloppier, and not know when their objects need realizing (is
there ever a case when you wouldn't want to call
Gtk_Text::realize()?)...but it would make apps a little more
robust and consistent. And isn't that one of the principles of
OO, that your objects should know how to take care of
themselves? The fewer function calls I have to make for each
object, the fewer mistakes I will end up making in the long run,
especially if I'm repeating the same calls over & over...
> the underlying Gtk+ function will complain to stderr using g_warning,
> but there is absolutly no way for your application program to know
> that something bad happened and do something intelligent. It would
> be nice to wrap stuff like this with:
>
> try {
> ...
> }
> catch (GTTKMM_Exception error) {
> // Handle things
> }
>
> but there doesn't seem to be any way to implement this, since Gtk+ doesn't
> seem to report errors anywhere except to stderr (i.e. no customizable error
> handler function) to do this... Really unfortunate...
I'm definitely a fan of exception handling. Granted, I'm
somewhat new to the UNIX end of things, but would there be any
way to write a class to attach to stderr and parse its output,
looking for errors? Or is GTK+ consistent enough in its
reporting formats to make this feasible? Perhaps a virtual
exception scheme would be possible, where a GTK+ error string
would trigger an exception throw that GTK-- could pick up? I
don't know. I'm just tossing ideas out like playing cards right
now...
Tero Pulkkinen wrote:
> Damn, This is a good idea. Maybe we can get support for this to
> gtk1.1, if it does not exists already in gtk. It does take a long time
> until we can really use it to do applications(1.0 gtk will be standard
> for a LONG time), but better late than never. (well, thank god
> compilers have poor support for exceptions too, so we cannot really
> use it yet either - or at least there needs to be way to disable it..)
Do you mean that we can't really use full exception handling
because of the compilers, so it's almost a moot point anyway?
And by "disable it" do you mean disable exception handling in
case someone tries to use gtk-- with a compiler that has NO
exception support?
John
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]