wxMaxima
Loading...
Searching...
No Matches
Namespaces | Functions
WorksheetEvalQueue.h File Reference

The document-pure core of the worksheet's "schedule cells for evaluation" commands. More...

This graph shows which files directly or indirectly include this file:

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].
 

Detailed Description

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.