- ///
- int number_of_before_par;
- ///
- int number_of_behind_par;
- ///
- int number_of_cursor_par;
- ///
- int number_of_inset_id; // valid if >= 0, if < 0 then not in inset
- ///
- int cursor_pos; // valid if >= 0
- ///
- Paragraph * par;
- ///
- Undo(undo_kind kind_arg, int id_inset_arg,
- int number_before_arg, int number_behind_arg,
- int cursor_par_arg, int cursor_pos_arg,
- Paragraph * par_arg);
- ///
- ~Undo();
+
+ /**
+ * ID of hosting inset if the cursor is in one.
+ * if -1, then the cursor is not in an inset.
+ * if >= 0, then the cursor is in inset with given id.
+ */
+ int inset_id;
+
+ /// Offset to the first paragraph in the main document paragraph list
+ int first_par_offset;
+
+ /// Offset to the last paragraph from the end of the main par. list
+ int last_par_offset;
+
+ /**
+ * Offset from the start of the main document paragraph list,
+ * except if inside an inset, in which case it's the offset
+ * inside the hosting inset.
+ */
+ int cursor_par_offset;
+
+ /// The position of the cursor in the hosting paragraph
+ int cursor_pos;
+
+ /// The contents of the paragraphs saved
+ ParagraphList pars;