PTToolSwitching

@protocol PTToolSwitching <PTPDFViewCtrlToolDelegate>

The PTToolSwitching protocol allows the adopting tool-class to specify the next tool to use if this tool does not completely handle an event.

  • The tool manager that is used as an interface for the PTToolManagerDelegate methods.

    Declaration

    Objective-C

    @property (readwrite, nonatomic)
        id<PTToolEvents, PTToolOptionsDelegate> _Nullable toolManager;

    Swift

    weak var toolManager: (PTToolEvents & PTToolOptionsDelegate)? { get set }
  • A string that will be used to set the author field of annotations that are created.

    Declaration

    Objective-C

    @property (readwrite, copy, nonatomic) NSString *_Nonnull annotationAuthor;

    Swift

    var annotationAuthor: String { get set }
  • Indicates if the tool can be used to create an annotation.

    Declaration

    Objective-C

    @property (readonly, nonatomic) BOOL createsAnnotation;

    Swift

    var createsAnnotation: Bool { get }
  • The PTPDFViewCtrl that the tool or tool manager references.

    Declaration

    Objective-C

    @property (readonly, nonatomic) PTPDFViewCtrl *_Nullable pdfViewCtrl;

    Swift

    weak var pdfViewCtrl: PTPDFViewCtrl? { get }
  • Returns a newly initialized tool with the required pointer to the PTPDFViewCtrl on which it will operate.

    Declaration

    Objective-C

    - (nonnull instancetype)initWithPDFViewCtrl:
        (nonnull PTPDFViewCtrl *)pdfViewCtrl;

    Swift

    init(pdfViewCtrl: PTPDFViewCtrl)

    Parameters

    pdfViewCtrl

    a pointer to the PTPDFViewCtrl that the tool will operate.

    Return Value

    A newly initialized tool object.

  • Returns the next tool to use if this tool did not completely handle an event.

    Tools receive events, listed as the optional selectors in this protocol, from a PTPDFViewCtrl. If a tool does not finish handling an event (indicated by returning NO from one of the selectors that return a BOOL), then getNextTool is used to instantiate a new tool that will continuning handling the event.

    Declaration

    Objective-C

    - (nonnull instancetype)getNewTool;

    Swift

    func getNewTool() -> Self

    Return Value

    a newly instantiated UIView that conforms to the PTToolSwitching protocol.

  • Receives a custom event dispatched by -[PTToolManager createSwitchToolEvent:].

    This method gives the tool the opportunity to change to a new tool if it wishes to do so.

    Declaration

    Objective-C

    - (BOOL)onSwitchToolEvent:(nullable id)userData;

    Swift

    func onSwitchToolEvent(_ userData: Any?) -> Bool

    Parameters

    userData

    Arbitrary data provided by the tool.

    Return Value

    YES if the tool has handled the event, NO if it should be passed to a new tool of a different type.