113 virtual bool undoable()
const override;
Add a cell to the notebook.
Definition: Actions.hh:59
Position pos
Definition: Actions.hh:75
virtual ~ActionAddCell()
Definition: Actions.hh:64
int child_num
Definition: Actions.hh:76
virtual void execute(DocumentThread &, GUIBase &) override
Perform the action.
Definition: Actions.cc:42
DTree::iterator newref
Definition: Actions.hh:74
Position
Definition: Actions.hh:61
DataCell newcell
Definition: Actions.hh:73
virtual void revert(DocumentThread &, GUIBase &) override
Revert the change to the DTree document and the GUI.
Definition: Actions.cc:63
ActionAddCell(DataCell, DataCell::id_t ref_, Position pos_)
Definition: Actions.cc:37
All actions derive from the ActionBase object, which defines the interface they need to implement.
Definition: Actions.hh:32
DTree::iterator ref
Definition: Actions.hh:52
virtual void execute(DocumentThread &, GUIBase &)
Perform the action.
Definition: Actions.cc:23
ActionBase(DataCell::id_t ref_id)
Definition: Actions.cc:13
virtual bool undoable() const
Can this action be undone?
Definition: Actions.cc:18
DataCell::id_t ref_id
Definition: Actions.hh:50
virtual void revert(DocumentThread &, GUIBase &)=0
Revert the change to the DTree document and the GUI.
Complete text at a point in a GUI cell with one or more alternative.
Definition: Actions.hh:191
int alternative() const
Definition: Actions.cc:301
virtual void execute(DocumentThread &, GUIBase &) override
Perform the action.
Definition: Actions.cc:279
std::string text
Definition: Actions.hh:205
virtual void revert(DocumentThread &, GUIBase &) override
Revert the change to the DTree document and the GUI.
Definition: Actions.cc:289
virtual ~ActionCompleteText()
Definition: Actions.hh:194
int alternative_
Definition: Actions.hh:206
ActionCompleteText(DataCell::id_t ref_id, int pos, const std::string &, int alternative)
Definition: Actions.cc:274
int length() const
Definition: Actions.cc:296
DTree::iterator this_cell
Definition: Actions.hh:203
int insert_pos
Definition: Actions.hh:204
Remove a text string starting at the indicated position, and with the indicated length,...
Definition: Actions.hh:218
int to_pos
Definition: Actions.hh:228
std::string removed_text
Definition: Actions.hh:229
virtual ~ActionEraseText()
Definition: Actions.hh:221
int from_pos
Definition: Actions.hh:228
virtual void execute(DocumentThread &, GUIBase &) override
Perform the action.
Definition: Actions.cc:311
virtual void revert(DocumentThread &, GUIBase &) override
Revert the change to the DTree document and the GUI.
Definition: Actions.cc:320
DTree::iterator this_cell
Definition: Actions.hh:227
ActionEraseText(DataCell::id_t ref_id, int, int)
Definition: Actions.cc:306
Add a text string (can be just a single character) at the point of the cursor.
Definition: Actions.hh:169
virtual ~ActionInsertText()
Definition: Actions.hh:172
std::string text
Definition: Actions.hh:180
ActionInsertText(DataCell::id_t ref_id, int pos, const std::string &)
Definition: Actions.cc:254
int insert_pos
Definition: Actions.hh:179
virtual void revert(DocumentThread &, GUIBase &) override
Revert the change to the DTree document and the GUI.
Definition: Actions.cc:267
virtual void execute(DocumentThread &, GUIBase &) override
Perform the action.
Definition: Actions.cc:259
DTree::iterator this_cell
Definition: Actions.hh:178
Position the cursor relative to the indicated cell.
Definition: Actions.hh:85
virtual ~ActionPositionCursor()
Definition: Actions.hh:90
virtual void revert(DocumentThread &, GUIBase &) override
Revert the change to the DTree document and the GUI.
Definition: Actions.cc:140
ActionPositionCursor(DataCell::id_t ref_id_, Position pos_)
Definition: Actions.cc:75
DTree::iterator newref
Definition: Actions.hh:97
Position pos
Definition: Actions.hh:98
Position
Definition: Actions.hh:87
bool needed_new_cell
Definition: Actions.hh:96
virtual void execute(DocumentThread &, GUIBase &) override
Perform the action.
Definition: Actions.cc:80
Remove a cell and all its child cells from the document.
Definition: Actions.hh:124
virtual void revert(DocumentThread &, GUIBase &) override
Revert the change to the DTree document and the GUI.
Definition: Actions.cc:172
DTree::iterator reference_parent_cell
Definition: Actions.hh:139
size_t reference_child_index
Definition: Actions.hh:140
ActionRemoveCell(DataCell::id_t ref_id_)
Definition: Actions.cc:150
DTree removed_tree
Definition: Actions.hh:138
virtual void execute(DocumentThread &, GUIBase &) override
Perform the action.
Definition: Actions.cc:159
virtual ~ActionRemoveCell()
Definition: Actions.cc:155
Update the running status of the indicated cell.
Definition: Actions.hh:105
DTree::iterator this_cell
Definition: Actions.hh:115
bool was_running_
Definition: Actions.hh:116
virtual ~ActionSetRunStatus()
Definition: Actions.hh:108
virtual bool undoable() const override
Can this action be undone?
Definition: Actions.cc:234
bool new_running_
Definition: Actions.hh:116
ActionSetRunStatus(DataCell::id_t ref_id_, bool running)
Definition: Actions.cc:229
virtual void execute(DocumentThread &, GUIBase &) override
Perform the action.
Definition: Actions.cc:239
virtual void revert(DocumentThread &, GUIBase &) override
Revert the change to the DTree document and the GUI.
Definition: Actions.cc:249
Split a cell into two separate cells, at the point of the cursor.
Definition: Actions.hh:147
virtual void revert(DocumentThread &, GUIBase &) override
Revert the change to the DTree document and the GUI.
Definition: Actions.cc:222
ActionSplitCell(DataCell::id_t ref_id)
Definition: Actions.cc:190
virtual ~ActionSplitCell()
Definition: Actions.cc:195
virtual void execute(DocumentThread &, GUIBase &) override
Perform the action.
Definition: Actions.cc:199
DTree::iterator newref
Definition: Actions.hh:156
Each cell is identified by a serial number 'id' which is used to keep track of it across network call...
Definition: DataCell.hh:51
DataCells are the basic building blocks for a document.
Definition: DataCell.hh:27
A base class with all the logic to manipulate a Cadabra notebook document.
Definition: DocumentThread.hh:40
Abstract base class with methods that need to be implemented by any GUI.
Definition: GUIBase.hh:16
Functions to handle the exchange properties of two or more symbols in a product.
Definition: Adjform.cc:83
tree< DataCell > DTree
Definition: DataCell.hh:108