octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Yet another GUI releated thought


From: John W. Eaton
Subject: Yet another GUI releated thought
Date: Thu, 08 May 2008 12:15:32 -0400

On  7-May-2008, Søren Hauberg wrote:

|   I'm still not convinced that it is necessary to make Octave thread
| safe or similar complicated things to provide a graphical interface to
| Octave. I don't really understand the input handling in Octave, so this
| has been developed in a "Hmmm, I wonder what happens if I press this
| button..." style.
|   What I have done is the following:
| In 'src/input.cc' I have added:
| 
|   // TRUE if the GUI is being used
|   bool using_gui = true;
| 
| Then later (same file) I have changed the function 'gnu_readline' so it
| reads
| 
|   if (!using_gui)
|     retval = command_editor::readline (s, eof);
|   else
|     retval = GUI::readline (s, eof);
| 
| This is probably the wrong place to do this, but it seems to work
| (haven't tested much, though). The function 'GUI::readline' returns when
| the user pressed Return in the GUI. The GUI is being started in
| 'octave_main' in 'src/octave.cc' in a separate thread.

If the GUI runs in a separate thread and Octave is not thread safe,
then how do you make the GUI responsive while Octave is off doing some
calculation?

|   Using this approach the GUI supports partial statements. It does not
| support tab-completion and history searching, and similar. Such things
| will have to be reimplemented in the GUI. I don't think that's much work
| though. Are there any issues with this approach that I'm missing?

Right, so you want to reimplement all the features of GNU readline in
your GUI::readline function?

jwe




reply via email to

[Prev in Thread] Current Thread [Next in Thread]