|
wxMaxima
|
The document-pure core of the worksheet's "schedule cells for evaluation" commands. More...
Go to the source code of this file.
Namespaces | |
| namespace | WorksheetEvalQueue |
| The document-pure "add cells to the evaluation queue" helpers. | |
Functions | |
| bool | WorksheetEvalQueue::ShouldEnqueue (const GroupCell &cell) |
| Is this group cell eligible for evaluation? | |
| void | WorksheetEvalQueue::Enqueue (GroupCell &cell, EvaluationQueue &queue) |
| Append one group cell to the queue if it is eligible. | |
| void | WorksheetEvalQueue::EnqueueRange (GroupCell *start, const GroupCell *end, EvaluationQueue &queue) |
| Enqueue every eligible cell in the inclusive range [start, end]. | |
The document-pure core of the worksheet's "schedule cells for evaluation" commands.
Worksheet::Add*ToEvaluationQueue split into two concerns: deciding which group cells are eligible and appending them to the queue (this file, no view or cursor state), and the surrounding view side effects - following the evaluation with the viewport and moving the h-caret - which stay in Worksheet. Keeping the eligibility rule and the range walk here lets them be unit-tested without a Worksheet window (see test_WorksheetEvalQueue) and gives the document/view split a single home for the enqueue logic.