Graphical User Interface
MathJet’s GUI is organized around two halves: a central tab widget that holds the document you’re currently editing (a chart sheet, a spreadsheet, or a script editor), and a set of dockable tool windows that surround it for inputs, displays, interaction, and debugging.
The design intentionally mirrors the architecture: because the spreadsheet, the visualization engine, and the scripting runtime share one process and one memory space, the tool windows in the GUI can reflect the same data live — selections, edits, and probes that happen in one window propagate to every other window that shows the affected object.
What’s covered here
Section titled “What’s covered here”| Topic | What it covers |
|---|---|
| Window Layout | The MathJet main window — menu bar, standard and context toolbars, central tab widget, status bar, dock zones. |
| Workspace Manager | Hierarchical / categorical view of every object in a session, with selection sync to the active document. |
| Environment Window | Tabular display of variables, datasets, and functions in the active interpreter’s evaluation stack. |
| Data Source Window | Open data sources — files and database connections — with the same tabular layout as the Environment Window. |
| Overview Window | Visual synopsis of the focus data object: charts, graphs, tables, columns, variables, external sources. |
| Graph Companion | Spreadsheet-style table of the underlying data for every graph in the active chart, with two-way selection sync. |
| Command Editor | REPL for the active interpreter — the built-in language plus selectable external installations (Octave, Python, R). |
| Command Recorder | Logged history of executed and auto-recorded statements with reverse-execution (undo) support. |
| Debug Windows | Breakpoints, watches, call stack, and local variables for stepping through any supported language. |
| File Browser | Filesystem navigation with one-click previews of supported file types in the central tab. |
| Property Editor | Live property inspector for whatever object has focus in the active document or Workspace Manager. |
| Find and Replace | The Quick Find widget — unified find / replace across charts, worksheets, and code editors. |
Design conventions across all tool windows
Section titled “Design conventions across all tool windows”Most tool windows share the same basic patterns, so once you know one window you know parts of every other one:
- Filter / search box in the toolbar at the top of each window. Type keywords to filter visible items by name (or, in some windows, by value).
- Options drop-down for window-specific behavior — filtering mode, data layout, complex-number display format, etc.
- Drag-and-drop between windows. Variables can be dragged from Environment / Data Source / Watches into spreadsheets, charts, or the Code Editor; graphs can be dragged across charts.
- Selection synchronization. Selecting an item in a tool window highlights it in the active document, and vice versa. The view scrolls automatically when needed so the linked item is visible.
- Dockable. Every tool window can be docked into one of the layout
zones around the central tab, undocked into a floating window,
resized, and saved as part of the workspace layout (
.mjw).
The cross-window consistency is intentional. It means a workflow that relies on, say, “filter by name → select → drag into spreadsheet” is the same gesture in five different tool windows.