octave-maintainers
[Top][All Lists]
Advanced

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

Re: Promising new Qt GUI


From: John Swensen
Subject: Re: Promising new Qt GUI
Date: Wed, 6 Apr 2011 15:33:27 -0400

On Apr 6, 2011, at 2:40 PM, Michael Goffioul wrote:

> 2011/4/6 John Swensen <address@hidden>:
>> Even though I haven't posted much lately, I have been making progress on a 
>> QT solution with a full terminal emulator.  I took the Konsole sources and 
>> using qtermwidget as an example ripped out everything that made it KDE 
>> dependent.  You can find a screenshot of the current state at
>> http://imgur.com/tUxrE
>> 
>> Just yesterday I incorporated the octave_server class that used for the old 
>> GTK+ octavede for interacting with Octave itself and now it is a matter of 
>> implementing the Model-View-Controller for each of the subpanels (history, 
>> variables, file browser, editor) using the octave_server class as the model 
>> portion.
>> 
>> I suppose I should get a branch up on Sourceforge for the QT version of 
>> OctaveDE so others can take a look.
> 
> I've not been communicating that much either, but I've been working
> on the Windows counterpart of this. The main issue is the terminal emulation
> concept, which does not exist in Windows.
> 
> One way to work around that
> is by using normal pipes (what I've done with libvte), but the main drawback
> is that the running application does not see a real tty (as in istty()
> returns 0).
> Hacking qtermwidget would result in the same problem.
> 
> The other approach is the one taken by Console2. That's what I've done
> recently: extract the relevant code from Console2, wrap it with a QWidget
> and use the resulting "QConsole" component in a Qt app to run octave in
> a separate thread. I think this method is better than running octave over
> pipes.
> 
> Michael.

Michael,

I think that as long as your solution is running Octave in a separate thread, 
the same octave_server and communications with octave through the readline idle 
event loop and my octave_server class should work well.  I am also working on 
all the other dockable subpanels that I think should work independent of the 
console interaction method.  Then we just need to work out getting the two 
solutions for console interaction into the same source tree: (1) qtermwidget2.0 
for Linux/OSX/others and (2) the Console2 method for Windows.

John

reply via email to

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