help-octave
[Top][All Lists]
Advanced

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

Re: Looking for a program


From: Matthew Valenta
Subject: Re: Looking for a program
Date: Wed, 10 Feb 1999 07:52:52 +0000

Joerg Raedler wrote:

> 1. the GUI: something like a terminal to run Octave with some menus around,
> provides easy access to often used functions, has a help button, an exit
> button etc.

> Communication with Octave can be via pipe that octave reads when readline is
> idle, executes the requests and send the results back to the GUI. This

Ultimately, this would be nice, but is not necessarily the most important task 
in
my
mind for two reasons:
1) I think if we wrote a GUI toolkit first, we could then easily write such an
Octave
     interface.
2) Communication via pipes, while being the traditional UNIX route, is not
     necessarily the best route today.  People are working very actively on 
CORBA.

     Adding a CORBA interface to Octave could be very useful.  Then someone
     could write any general GUI program that communicated with octave

    CORBA could used for data sharing interface between Octave and a spreadsheet
    program (ala Matlab's Excel Link).  I know the Gnumeric and KSpreadsheet are
    already working on CORBA interfaces.

     Finally, CORBA could be used to interface graphics programs.  Guppie
     (http://www.gnome.org/guppi/) and KChart are on track for this.  I don't
     know about KSciplot or others.

> 2. GUI elements callable from Octave: Provides what "dialog" provides to the
> shell or TK to TCL. Can be used for many types of input and output from octave
> programs and toolboxes. First step should be to develop a specification of the
> functions to call from octave. Why not implement different toolboxes for this
> (on demand), one with KDE/GNOME/Lesstif or TCL/TK, one for character based
> terminals using something like the dialog utility, one with ... and all have
> the same Octave interface...  x = yesnobox("Do you want a GUI?");
>

I think that the best way to do this is to implement any Octave GUI toolkit in a
way
that is relatively independent of an underlying low-level toolkit.  In other
words, write
it so that it is easy for someone else to add bindings to a new toolkit.  The 
LyX
(http://www.lyx.org) authors are implementing LyX 1.2 in this way; we should 
look
to them for inspiration and techniques.

That said, it is important to focus on keeping an project doable so we should
pick one toolkit with which to start.  In my mind, here are the possible 
choices:

1) GTK (Gnome) http://www.gnome.org
    - Portable to both Unix and Windows platforms
    - Future CORBA interface ("Baboon")
    - GPL license
    - Primarily C bindings, with C++ and Python bindings in progress.

2) Qt (KDE) http://www.kde.org
    - Portable to Unix platforms
    - Future CORBA interface ("KOM")
    - Qt versions <2.0  (and thus KDE 1.0/1.1) are INCOMPATIBLE with the GPL
       Qt versions >=2.0 are COMPATIBLE with the GPL according to R. Stallman
    - Primarily C++ bindings, with Python and Perl bindings in progress

3) JX (WWW link somewhere at Caltech???)
    - Linux only AFAIK
    - Supports same drag-n-drop standard as GNOME/KDE
    - License is what?
    - C++ bindings only AFAIK
    - Used only by 3 programs: Code Crusader, Code Medic, Mail Reader

4) Tk - I know little  about this.   Can someone list the pluses/minuses?

5) Lesstif - I will not work on any Motif code.  I hate Motif.  But maybe
                  someone with an unbiased view could speak out? ;-)

My personal favorite is GTK/GNOME because is uses the GPL.

> 3. A 3D graphics toolbox: Used to visualize function graphs, vector fields or
> even animations. OpenGL/Mesa may be a good choice for this. There are some
> libraries/toolkits for interfacing rendering engines with applications. I
> already looked at VTK (visualization toolkit) and MAM/VRS (LGPL!).
> MAM/VRS seems to be the best choice for me.
> This would be a really huge project, but maybe worth the work...
>

Obviously, this is extremely important, particularly since Matlab is very 
advanced
in this
area.  Yes, this would be a really huge project and I would tend to suggest that
we use
someone else's work.

The GNOME project already has somebody working on an OpenGL wrapper:
http://www.student.oulu.fi/~jlof/gtkglarea/
and graphics program:
http://www.geocities.com/SiliconValley/Lab/8325/superficie/

Another OpenGL based 3-D visualization program which I have not investigate much
is MathGL:
http://www.mpae.gwdg.de/~kuska/mview3d.html

>
> >Any thoughts?
> >I would be very willing to code with someone on this as I will eventually
> >need some sort of GUI interface for my work (and I'd like to avoid Matlab).
>
> I'm *really* interested in contributing to those projects!

OK, two people makes a conspiracy.  Why don't Joerg and begin discussing
specific work that we can do.  If anyone else is interested in working on such a
project, please let us know.

To everyone else, now would be an excellent time to provide input.  For example,
there are 3 possible
projects on the table:

1) GUI Toolkit for Octave
2) GUI Interface to Octave
3) 3-D graphics toolbox for Octave
      (I have never looked at octave-plplot.  How advanced in this area is it?)
4) CORBA interface for Octave

Which would people most like to see?  In my mind, I'd like to work on (1) which
then ultimately
could be used by someone to build (2).   Other suggestions?  I'm particularly
interested in
JWE's opinion of such projects.


mattv

--
Matthew Valenta
address@hidden
(206)524-6444




reply via email to

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