PTUndoRedoManager
@interface PTUndoRedoManager : NSObject <PTOverridable>
The PTUndoRedoManager
class is responsible for managing the undo/redo chain of a PTPDFViewCtrl
and an NSUndoManager
instance.
-
Initializes a new
PTUndoRedoManager
instance with the given PDFViewCtrl.Declaration
Objective-C
- (nonnull instancetype)initWithPDFViewCtrl: (nonnull PTPDFViewCtrl *)pdfViewCtrl;
Swift
init(pdfViewCtrl: PTPDFViewCtrl)
Parameters
pdfViewCtrl
the PDFViewCtrl
Return Value
an initialized
PTUndoRedoManager
instance -
The
PTPDFViewCtrl
associated with the undo-redo manager.Declaration
Objective-C
@property (nonatomic, strong, readonly) PTPDFViewCtrl *_Nonnull pdfViewCtrl;
Swift
var pdfViewCtrl: PTPDFViewCtrl { get }
-
Whether the undo-redo manager is enabled and updates the undo/redo state. When disabled (value is set to
NO
), theNSUndoManager
owned by thepdfViewCtrl
is cleared of all its actions.The default value of this property is
YES
.Note
The value of this property is also derived from thePTPDFViewCtrl.isUndoRedoEnabled
property of this undo-redo manager’spdfViewCtrl
.Declaration
Objective-C
@property (nonatomic, getter=isEnabled) BOOL enabled;
Swift
var isEnabled: Bool { get set }
-
Undo the last action.
Declaration
Objective-C
- (void)undo;
Swift
func undo()
-
Redo the last undo.
Declaration
Objective-C
- (void)redo;
Swift
func redo()
-
Creates a new state at the top of the undo/redo chain by taking a snapshot.
Declaration
Objective-C
- (void)takeUndoSnapshot:(nonnull NSString *)actionInfo;
Swift
func takeUndoSnapshot(_ actionInfo: String)
Parameters
actionInfo
meta-data to be attached to this new state.
-
Registers a generic change with the undo-redo manager.
Declaration
Objective-C
- (void)registerChangeWithActionName:(nullable NSString *)actionName;
Swift
func registerChange(withActionName actionName: String?)
Parameters
actionName
The name of the action
-
Used to notify the undo-redo manager that an annotation has been added.
Declaration
Objective-C
- (void)annotationAdded:(nonnull PTAnnot *)annotation onPageNumber:(int)pageNumber;
Swift
func annotationAdded(_ annotation: PTAnnot, onPageNumber pageNumber: Int32)
Parameters
annotation
The annotation that was added.
pageNumber
The page number of the PDF that the annotation was added to.
-
Used to notify the undo-redo manager that annotations have been added.
Declaration
Objective-C
- (void)annotationsAdded:(nonnull NSArray<PTAnnot *> *)annotations onPageNumber:(int)pageNumber;
Swift
func annotationsAdded(_ annotations: [PTAnnot], onPageNumber pageNumber: Int32)
Parameters
annotations
The annotations that were added.
pageNumber
The page number of the PDF that the annotations were added to.
-
Used to notify the undo-redo manager that an annotation has been modified
Declaration
Objective-C
- (void)annotationModified:(nonnull PTAnnot *)annotation onPageNumber:(int)pageNumber;
Swift
func annotationModified(_ annotation: PTAnnot, onPageNumber pageNumber: Int32)
Parameters
annotation
The annotation that was modified.
pageNumber
The page number of the PDF that the annotation was modified on.
-
Used to notify the undo-redo manager that annotations have been modified
Declaration
Objective-C
- (void)annotationsModified:(nonnull NSArray<PTAnnot *> *)annotations onPageNumber:(int)pageNumber;
Swift
func annotationsModified(_ annotations: [PTAnnot], onPageNumber pageNumber: Int32)
Parameters
annotations
The annotations that were modified.
pageNumber
The page number of the PDF that the annotations were modified on.
-
Used to notify the undo-redo manager that an annotation has been removed.
Declaration
Objective-C
- (void)annotationRemoved:(nonnull PTAnnot *)annotation onPageNumber:(int)pageNumber;
Swift
func annotationRemoved(_ annotation: PTAnnot, onPageNumber pageNumber: Int32)
Parameters
annotation
The annotation that was removed.
pageNumber
The page number of the PDF that the annotation was removed from.
-
Used to notify the undo-redo manager that annotations have been removed.
Declaration
Objective-C
- (void)annotationsRemoved:(nonnull NSArray<PTAnnot *> *)annotations onPageNumber:(int)pageNumber;
Swift
func annotationsRemoved(_ annotations: [PTAnnot], onPageNumber pageNumber: Int32)
Parameters
annotations
The annotations that were removed.
pageNumber
The page number of the PDF that the annotations were removed from.
-
Used to notify the undo-redo manager that the data of a form field has been modified.
Declaration
Objective-C
- (void)formFieldDataModified:(nonnull PTAnnot *)annotation onPageNumber:(int)pageNumber;
Swift
func formFieldDataModified(_ annotation: PTAnnot, onPageNumber pageNumber: Int32)
Parameters
annotation
The form field annotation that has modified data.
pageNumber
The page number of the PDF that the form field annotation is on.
-
Used to notify the undo-redo manager manager that a page has been added.
Declaration
Objective-C
- (void)pageAddedAtPageNumber:(int)pageNumber;
Swift
func pageAdded(atPageNumber pageNumber: Int32)
Parameters
pageNumber
The page number of the page that was added.
-
Used to notify the undo-redo manager manager that a page has been moved.
Declaration
Objective-C
- (void)pageMovedFromPageNumber:(int)oldPageNumber toPageNumber:(int)newPageNumber;
Swift
func pageMoved(fromPageNumber oldPageNumber: Int32, toPageNumber newPageNumber: Int32)
Parameters
oldPageNumber
The old page number of the page.
newPageNumber
The new page number of the page.
-
Used to notify the undo-redo manager that a page has been removed.
Declaration
Objective-C
- (void)pageRemovedForPageNumber:(int)pageNumber;
Swift
func pageRemoved(forPageNumber pageNumber: Int32)
Parameters
pageNumber
The page number of the page that was removed.
-
Used to notify the undo-redo manager that a page has been rotated.
Declaration
Objective-C
- (void)pageRotatedForPageNumber:(int)pageNumber;
Swift
func pageRotated(forPageNumber pageNumber: Int32)
Parameters
pageNumber
The page number of the page that was rotated.
-
Used to notify the undo-redo manager that pages have been rotated.
Declaration
Objective-C
- (void)pagesRotatedForPageNumbers:(nonnull NSIndexSet *)pageNumbers;
Swift
func pagesRotated(forPageNumbers pageNumbers: IndexSet)
Parameters
pageNumbers
The page numbers of the pages that were rotated.
-
Used to notify the undo-redo manager that a page’s content has changed.
Declaration
Objective-C
- (void)pageContentModifiedOnPageNumber:(int)pageNumber;
Swift
func pageContentModified(onPageNumber pageNumber: Int32)
Parameters
pageNumber
The page number of the page that had its content changed.