Ole Jacob Hagen <address@hidden> wrote:
I am planning to make oplot (http://oplot.sf.net) compatible with Qt4,
so Oplot supports Windows natively without any cost for both end user
and developer. :-)
My intention is simple. QT4 has a text editor, look here for an
amazingly short syntax highlighter:
http://doc.trolltech.com/4.1/richtext-syntaxhighlighter.html.
Furthermore, you can use OpenGL easily:
http://doc.trolltech.com/4.1/opengl-hellogl.html. Given an OpenGL
plotting program, you can easily create PS, EPS and PDF files:
http://www.geuz.org/gl2ps/. Such a GUI/IDE would be portable anywhere
octave and QT4 currently compile. I also like QT4 because, by my
standards, it makes very concise C++ GUI code.
I would like to stick all these things and octave into a binary, so
that when I plot stuff in octave, I can zoom or spin it and do
whatever, just like in Matlab, and include a reasonable text editor. I
really don't think it would be that much code, with all the tools I
enumerated above.
Maybe communicating with octave via pipes is a great idea, but as John
points out you end up having to design a communication protocol. Also,
most attempts want to reuse gnuplot, which is a great idea, but I don't
have the expertise to go and add to gnuplot the features I want to copy
from Matlab. It's a lot easier for me to implement this stuff from
scratch. On the other hand, if oplot is a QT4 widget that does what I
need, then that's one less thing I have to do.
Those of you that have struggled with the threading, I am shooting
initially for something much like Matlab. The GUI dies during long
computations. That can be fixed later, maybe when octave becomes threadsafe or maybe before by adding a giant lock.
My idea for the plotter is that I would make available in octave three
new functions: a function that draws a Gouraud shaded triangle soup
(like Matlab's patch), Gouraud shaded lines and a function to place
text. Okay, maybe one for setting a clip rectangle and changing the
transformation matrix. Then I would implement all the higher level
functionality as .m files on top of that. Matlab also has widgets and stuff but that can wait. QT can have widgets and OpenGL in the same window anyway.
Finally, and perhaps most importantly, I should add that if anyone
wants to channel their enthusiasm towards one of the custom QT4 widgets
I need (the .m file editor, the GL plotter or even the simpler widgets
like the prompt, the lower-left working directory pane, a help widget,
etc...) then I would definetly want to take advantage of such an effort.
Ok, now I have to go to the grocery store.