From octave-graphics-request at bevo dot che dot wisc dot edu Fri Apr 9 20:50:49 1999 Subject: Re: some action From: Joao Cardoso To: octave-graphics at bevo dot che dot wisc dot edu CC: John Eaton Date: Sat, 10 Apr 1999 02:50:31 +0100 | OK, here is an idea for some action. | | While we are deciding what heavy-duty toolkit(s) to use, I think it | would be useful to come up with some simple proof-of-concept code | based on a brain-dead simple toolkit. So, over the next few days, I'm | going to try to work on integrating a few GUI objects into the 2.1.x | sources. Hi, [ I am not in this mailing list -- but I will watch it] John, could you please tell us the results of your try? I think that they are not yet in the 2.1.14 release. I think that your approach is correct. Define the interface first. But we can have problems. Being a Tk fan (?) but not a Tcl one, I would like to be able to configure the button the way I am used, you know, all that long list of configure options, and a configure option should exists for each object. There may be one problem: how to handle the async behavior os X events? When the user click the button, the callback function will have to be processed, even if octave is currently executing a function (say that the button is "Stop"). Is Octave reentrant? Or will you add a mainloop to Octave? I think that creating a mainloop capable of processing events (such as signals) will be welcome. Another related problem: resize/redraw/exposure events on plot windows! I think that the best approach is to have and external plot/GUI program that will take care of that stuff, and define how will they communicate with Octave (asynchronously of course -- mainloop() is still needed). This is a major decision at this point of the game. (I don't think that making Octave thread aware is a good idea -- mainly because my system don't support threads in a robust way :-)) Joao -- Joao Cardoso, INESC | e-mail: jcardoso at inescn dot pt R. Jose Falcao 110 | tel: + 351 2 2094345 4050 Porto, Portugal | fax: + 351 2 2008487