Cadabra
Computer algebra system for field theory problems
|
Position the cursor relative to the indicated cell.
If position is 'next' and there is no input cell following the indicated one, create a new one.
#include <Actions.hh>
Public Types | |
enum | Position { Position::in, Position::next, Position::previous } |
Public Member Functions | |
ActionPositionCursor (DataCell::id_t ref_id_, Position pos_) | |
virtual void | execute (DocumentThread &, GUIBase &) override |
Perform the action. More... | |
virtual void | revert (DocumentThread &, GUIBase &) override |
Revert the change to the DTree document and the GUI. More... | |
Public Member Functions inherited from cadabra::ActionBase | |
ActionBase (DataCell::id_t ref_id) | |
virtual bool | undoable () const |
Can this action be undone? More... | |
Private Attributes | |
bool | needed_new_cell |
DTree::iterator | newref |
Position | pos |
Additional Inherited Members | |
Protected Attributes inherited from cadabra::ActionBase | |
DataCell::id_t | ref_id |
DTree::iterator | ref |
|
strong |
ActionPositionCursor::ActionPositionCursor | ( | DataCell::id_t | ref_id_, |
Position | pos_ | ||
) |
|
overridevirtual |
Perform the action.
This should update both the document tree data structure and the GUI. The latter is updated by calling relevant methods on the GUIBase object passed in.
Reimplemented from cadabra::ActionBase.
|
overridevirtual |
Revert the change to the DTree document and the GUI.
Implements cadabra::ActionBase.
|
private |
|
private |
|
private |