//
//  KMSystemGotoMenu.swift
//  PDF Reader Pro
//
//  Created by tangchao on 2023/12/26.
//

import Foundation

protocol KMSystemGotoMenuProtocol {
    func menuItemAction_nextPage(_ sender: Any)
    func menuItemAction_forwardPage(_ sender: Any)
    func menuItemAction_firstPage(_ sender: Any)
    func menuItemAction_lastPage(_ sender: Any)
    func menuItemAction_forward(_ sender: Any)
    func menuItemAction_goback(_ sender: Any)
    func menuItemAction_gotoPage(_ sender: Any)
    
    func goToMarkedPage(_ sender: Any?)
    func markPage(_ sender: Any?)
}

extension KMSystemMenu.Goto {
    public static let nextPageSelector     = NSSelectorFromString("menuItemAction_nextPage:")
    public static let forwardPageSelector  = NSSelectorFromString("menuItemAction_forwardPage:")
    public static let firstPageSelector    = NSSelectorFromString("menuItemAction_firstPage:")
    public static let lastPageSelector     = NSSelectorFromString("menuItemAction_lastPage:")
    public static let forwardSelector      = NSSelectorFromString("menuItemAction_forward:")
    public static let gobackSelector       = NSSelectorFromString("menuItemAction_goback:")
    public static let gotoPageSelector     = NSSelectorFromString("menuItemAction_gotoPage:")
    
    public static let goToMarkedPageSelector     = NSSelectorFromString("goToMarkedPage:")
    public static let markPageSelector     = NSSelectorFromString("markPage:")
    
    public static func actions() -> [Selector] {
        return [self.nextPageSelector, self.forwardPageSelector, self.firstPageSelector, self.lastPageSelector,
                self.forwardSelector, self.gobackSelector, self.gotoPageSelector,
                self.goToMarkedPageSelector, self.markPageSelector]
    }
}