Object Oriented Development Of A Mathematical Equation Editor
Stahl, Levi Russell
Computers since their inception have been used to solve engineering problems. Toward support of next-generation, customizable, generalized software, a mathematical equation editor has been designed, developed, and tested using object oriented (OO) programming techniques. The motivating purpose of this equation editor is to allow a user to graphically define mathematical equations to be solved in a computational partial differential equation-based problem solving environment. The OO scripting language Python was used in conjunction with the OO GUI toolkit Qt to create the editor. Analysis of the underlying abstraction of a general equation yielded the key concept of an information-holding bounding box. Such boxes hierarchically contain every character and symbol in an equation. Specific rules were formulated to spatially arrange a set of boxes into a properly formatted equation. Robust insertion logic of alphanumeric characters, mathematical symbols, and common function names was implemented for intuitive point-and-click equation building.