Front End Programming

John M. Novak
Wolfram Research, Inc.

This notebook is an outline of the talk given at the 1999 Mathematica Developer Conference. It includes some useful code snippets and examples, but little explanation. For detailed explanations, see the references, in particular the chapter in Elements of Mathematica Programming, on which this talk was substantially based.


The focus of this talk is on notebook manipulation; there is another set of issues associated with typesetting and interpretation of expressions.

Important Concepts

The notebook is an expression. Options to the expression control many visible characteristics.

Manipulation of a notebook is best done by acting on a part of the notebook: the current selection.

The kernel and front end are separate programs; it is important to know what happens where when programming in Mathematica.

Currently, the tool for driving an interactive interface is the button, in the form of ButtonBox and associated ButtonFunction.

The Notebook Is an Expression

Manipulating Notebooks

The Front End and the Kernel Are Different Programs

The Interactive Interface