|
wxMaxima
|
The output of a cell as a tree the keyboard can walk through (GH #2382). More...
#include "cells/MatrixBlock.h"#include <vector>Go to the source code of this file.
Data Structures | |
| struct | OutputNavigation::Item |
| One node of the tree: a run of sibling cells, or one entry of a matrix. More... | |
| struct | OutputNavigation::Location |
| Where an item sits in the tree. More... | |
| struct | OutputNavigation::RunLocation |
| Where a run of several siblings sits: the level holding both of its ends. More... | |
Functions | |
| Item | OutputNavigation::Run (Cell *first, Cell *last) |
| The item a run of cells forms. | |
| Item | OutputNavigation::Entry (MatrCell *matrix, MatrixEntry entry) |
| The item one entry of a matrix forms. | |
| std::vector< Item > | OutputNavigation::Results (const GroupCell *group) |
| The top level: the results of this cell's output, as items. | |
| std::vector< Item > | OutputNavigation::Children (const Item &item) |
| The parts of an item, in reading order; empty if it has none. | |
| Location | OutputNavigation::Locate (const GroupCell *group, const Item &item) |
| RunLocation | OutputNavigation::LocateRun (const GroupCell *group, const Cell *first, const Cell *last) |
The output of a cell as a tree the keyboard can walk through (GH #2382).
The worksheet's output cursor is its ordinary selection. This file only answers the structural questions the arrow keys need: what the parts of a selected expression are (Enter goes into them), which part it is itself a part of (Escape goes back out) and which parts sit next to it (Left and Right). It knows nothing about key events or the worksheet, so it can be tested on parsed output alone.
The tree follows the expression's structure, Cell::GetInnerCell(), not the draw list: whether a wide expression happens to be broken into lines must not change what a key press does. Its levels are:
Anything that isn't drawn – hidden cells, empty ones, elided matrix entries – is left out.
| std::vector< Item > OutputNavigation::Children | ( | const Item & | item | ) |
The parts of an item, in reading order; empty if it has none.
What Enter goes into.