Andy Piper <andy(a)xemacs.org> writes:
At 09:05 AM 2/8/01 -0500, William M. Perry wrote:
>Andy Piper <andy(a)xemacs.org> writes:
>
> > You are welcome to start hacking - but not for 21.4 :)
>
>Definitely not for 21.4. :)
>
>I had actually been thinking of doing something disgusting like abstract
>out the foreign function interface so it is not dependent on GTK and then
>you could just write Xt code in lisp. :) *shudder* Then I realized I'm
>just not that depraved.
You'd have to do it for windows as well.
That wouldn't be too difficult. Windows and Xt are probably better behaved
than GTK is about providing accessor and settor functions instead of
relying on setting structure members directly. Don't get me started on
GNOME again.
Ben had some ideas about improving the API - mainly around
introducing a
new `instantiator' object. Manipulating the vectors is just too hard ...
BTW when I said you could use lisp - I meant within reason, otherwise you
can get in a situation when redisplay always calls into lisp - which
gives nasty speed degradation. Usually if its just in instantiation
things are ok because image instances are cached.
I was thinking of adding a 'widget' object that the user would manually
instantiate with lisp calls, and then the glyph would just reference that.
Then the user would manipulate the widget object instead of the glyph or
the instantiator for it. The widget would just repaint itself as
necessary. I may just be talking out of my bum here, as the GTK widget
code has some serious redisplay issues and I may be misunderstanding
something fundamental. We'll see in a week or so if I haven't had an
epiphany. :)
I haven't looked at how the search dialogs and stuff are implemented yet -
are those done inside emacs frames? It would be nice to have some way of
realizing one of these widget objects as their own top-level window (or
dialog, etc). This shouldn't be too difficult if you haven't done it
already.
Good luck on the move!
-bp