[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Yet another GUI releated thought
From: |
Søren Hauberg |
Subject: |
Yet another GUI releated thought |
Date: |
Wed, 07 May 2008 21:26:31 +0200 |
Hi All,
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.
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?
Søren
- Yet another GUI releated thought,
Søren Hauberg <=