MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Getting a pure text widget?

Hi Steven,

> The literature for MathLink suggests that I could create my own GUI for
> Mathematica using MathLink.  

I think that this should read: it is possible to create an own Frontend to
the Mathematica _Kernel_. That means basically you have from Mathematica
the text oriented Kernel only, which is perfectly accessable from C/C++
using the MathLink-Interface. Everything that the FrontEnd does, like
Parsing and Rendering of 2D Input and Output (StandardForm,
TraditionalForm), everything that renders Graphics within the Notebook
would have to be reprogrammed by an alternative FrontEnd, if you want to
support all that. The above is probably not perfectly correct, since e.g.
the convertion of Graphics-Objects to Postscript are done by the kernel
afaik, but you would have to find out what is done exactly by which part
(frontend vs. kernel). Whatever the details are, it will not be an easy
task, and certainly not something that you want to do just to get a nicer
appearance of buttons and menues. And you might to have to redo large parts
of it when the next version comes out.

> Are my perceptions in error here?

If you are expecting an API for certain parts of the _FrontEnd_, yes. AFAIK
that is not made available to the public. If you want to write an
alternative FrontEnd, that's not easy and you probably want to look at the
gnu TeXmacs project (they have basically written an alternative frontend
which can be connected to various other systems, too. Look for a mathematic
"plugin") to get an idea about what you would need to achieve. There is at
least one other implementation of an alternative frontend that I know of,
which is only text-oriented and called jmath. It is a readline enhanced
"shell" for the kernel. Also something you could learn about how to write
an alternative frontend. (looking at the kernel as a standalone program
probably will also help you to learn about the core of mathematica :-).

Another thing that you could look at are the various components (MathCanvas,
MathGraphicsJPanel,MathSessionPane) that the JLink interface offers, but
I'm not sure if that's good enough to build a powerful user interface (that
means something that is comparable to the current FrontEnd). And it would
be a mess to use these within an QT programm, connecting from C++ over Java
to mathematica...

Conclusion: I think you will be happier if you stay with the current
FrontEnd and hope for improvements in the next versions. Since version
4.2-something at least the menues don't use fixed width fonts even in the
linux frontend anymore :-).



  • Prev by Date: Re: Solving Diophantine Equations
  • Next by Date: Re: formatting table with integers and floats in a column
  • Previous by thread: Re: Getting a pure text widget?
  • Next by thread: Re: Getting a pure text widget?