Re: Getting a pure text widget?

*To*: mathgroup at smc.vnet.net*Subject*: [mg61378] Re: Getting a pure text widget?*From*: albert <awnl at arcor.de>*Date*: Mon, 17 Oct 2005 02:29:46 -0400 (EDT)*References*: <disln4$mj7$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

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 :-). hth, albert