wxMaxima
Loading...
Searching...
No Matches
Data Structures
WorksheetDocument.h File Reference

The document half of the worksheet: the state and commands that describe the edited document itself, independent of how it is displayed. More...

#include "CellPointers.h"
#include "EvaluationQueue.h"
#include "TreeUndoManager.h"
#include "WorksheetCursor.h"
#include "cells/CellPtr.h"
#include "cells/GroupCell.h"
#include <memory>
#include <wx/string.h>
Include dependency graph for WorksheetDocument.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  WorksheetDocument
 The view-independent state and commands of an edited worksheet document. More...
 

Detailed Description

The document half of the worksheet: the state and commands that describe the edited document itself, independent of how it is displayed.

WorksheetDocument is the growing home for the state the document/view split peels off Worksheet (see the split map): the cell tree, the undo history, the evaluation queue, the between-cells cursor and the small bits of bookkeeping gathered here first - the file the document was loaded from and the "current Maxima question" state. Worksheet holds one instance and forwards its document accessors to it; view-only state (scrolling, timers, the drawing context) stays on Worksheet.

Only genuinely view-independent state belongs here. The "is the document saved?" flag lives here too: SetSaved() owns the bool and, when it flips, notifies the view through WorksheetDocumentView::NotifySavedStateChanged() so the window can refresh the controls that depend on it (the title-bar "modified" marker) - the view no longer owns any part of the saved-state.