Foxit PDF SDK for HarmonyOS  3.0
uiextensions.UIExtensionsManager Class Reference
Inheritance diagram for uiextensions.UIExtensionsManager:
uiextensions.IUIExtensionsManager

Public Member Functions

 enableAutoFullScreen (enable)
 
 enableFormHighlight (enable)
 
 enableLinkHighlight (enable)
 
 enableLinks (enable)
 
 getAnnotHandlerByType (type)
 
 getCurrentAnnotHandler ()
 
 getCurrentSelectedText ()
 
 getCurrentToolHandler ()
 
 getFormHighlightColor ()
 
 getLinkEventListener ()
 
 getLinkHighlightColor ()
 
 getModuleByName (name)
 
 getSelectionHighlightColor ()
 
 getToolHandlerByType (type)
 
 isContinueAddAnnot ()
 
 isFormHighlightEnable ()
 
 isLinkHighlightEnabled ()
 
 isLinksEnabled ()
 
 isUseLogicalPageNumbers ()
 
 registerAnnotHandler (handler)
 
 registerInteractionListener (listener)
 
 registerMenuEventListener (listener)
 
 registerModule (module)
 
 registerToolHandler (handler)
 
 registerToolHandlerChangedListener (listener)
 
 registerXFAPageEventListener (listener)
 
 registerXFAWidgetEventListener (listener)
 
 resetToNormal ()
 
 setContinueAddAnnot (continueAddAnnot)
 
 setCurrentToolHandler (toolHandler)
 
 setFormHighlightColor (color)
 
 setLinkEventListener (listener)
 
 setLinkHighlightColor (color)
 
 setSelectionHighlightColor (color)
 
 setUseLogicalPageNumbers (useLogicalPageNumbers)
 
 triggerDismissMenuEvent ()
 
 unregisterAnnotHandler (handler)
 
 unregisterInteractionListener (listener)
 
 unregisterMenuEventListener (listener)
 
 unregisterModule (module)
 
 unregisterToolHandler (handler)
 
 unregisterToolHandlerChangedListener (listener)
 
 unregisterXFAPageEventListener (listener)
 
 unregisterXFAWidgetEventListener (listener)
 

Detailed Description

UI扩展功能管理器

  1. 核心职责:
    • 作为PDF阅读器UI扩展的核心协调器,管理所有UI扩展组件的生命周期和交互事件
    • 实现IUIExtensionsManager接口,监听并处理文档操作、手势交互、视图变更等核心事件
    • 提供批注管理、工具栏控制、夜间模式切换等扩展功能的统一入口
  2. 架构特征:
    • 采用观察者模式管理各类事件监听器(Gesture/StateChange/Menu等)
    • 通过模块化设计支持功能扩展,可动态注册/注销功能模块
    • 与PDF视图控制器PDFViewCtrlModel双向绑定,协调UI与文档操作

Member Function Documentation

◆ enableAutoFullScreen()

uiextensions.UIExtensionsManager.enableAutoFullScreen ( enable  )

设置是否自动全屏,默认值为 true。

Parameters
enable如果设置为 true,则在几秒后自动进入全屏模式,隐藏顶部栏和底部栏;设置为 false 则不自动全屏

◆ enableFormHighlight()

uiextensions.UIExtensionsManager.enableFormHighlight ( enable  )

设置启用或禁用高亮显示表单域。 如果文档已打开,请在设置新值后调用 PDFViewCtrlModel#updatePagesLayout 更新页面布局。

Parameters
enabletrue 表示表单高亮可显示,false 表示不可显示

◆ enableLinkHighlight()

uiextensions.UIExtensionsManager.enableLinkHighlight ( enable  )

设置是否启用或禁用链接注释高亮显示 FoxitRDKNative.pdf.annots.Link

Parameters
enable表示链接高亮可显示,false 表示不可显示

◆ enableLinks()

uiextensions.UIExtensionsManager.enableLinks ( enable  )

设置是否启用链接注释动作事件 FoxitRDKNative.pdf.annots.Link

Parameters
enabletrue 表示链接注释动作事件可被触发,false 表示不可触发

◆ getAnnotHandlerByType()

uiextensions.UIExtensionsManager.getAnnotHandlerByType ( type  )

从当前 UIExtensions中获取指定类型的 IAnnotHandler

Parameters
typeAnnotHandler 类型,参考 AnnotHandler#getType()
Returns
指定类型的 AnnotHandler

◆ getCurrentAnnotHandler()

uiextensions.UIExtensionsManager.getCurrentAnnotHandler ( )

获取当前的 IAnnotHandler

Returns
当前的 IAnnotHandler

◆ getCurrentSelectedText()

uiextensions.UIExtensionsManager.getCurrentSelectedText ( )

获取当前文本选择工具选中的文本内容。

Returns
当前选中的文本内容,如果未选中文本则返回 null

◆ getCurrentToolHandler()

uiextensions.UIExtensionsManager.getCurrentToolHandler ( )

获取当前的工具处理器。

Returns
当前的 IToolHandler 对象

◆ getFormHighlightColor()

uiextensions.UIExtensionsManager.getFormHighlightColor ( )

获取表单域的高亮颜色

Returns
表单域的高亮颜色

◆ getLinkEventListener()

uiextensions.UIExtensionsManager.getLinkEventListener ( )

获取链接事件监听器对象 FoxitRDKNative.pdf.annots.Link

Returns
当前的链接事件监听器对象 ILinkEventListener

◆ getLinkHighlightColor()

uiextensions.UIExtensionsManager.getLinkHighlightColor ( )

获取链接注释的高亮颜色 FoxitRDKNative.pdf.annots.Link

Returns
链接注释的高亮颜色

◆ getModuleByName()

uiextensions.UIExtensionsManager.getModuleByName ( name  )

从当前 UIExtensions中获取指定模块。

Parameters
name模块名称,参考 IModule#getName()
Returns
指定名称的 IModule

◆ getSelectionHighlightColor()

uiextensions.UIExtensionsManager.getSelectionHighlightColor ( )

获取选中文本时的高亮颜色(包含透明度)。

Returns
当前的选中文本高亮颜色

◆ getToolHandlerByType()

uiextensions.UIExtensionsManager.getToolHandlerByType ( type  )

从当前 UIExtensions中获取指定类型的 ToolHandler

Parameters
type工具处理器类型,参考 ToolHandler#getType()
Returns
指定类型的 ToolHandler

◆ isContinueAddAnnot()

uiextensions.UIExtensionsManager.isContinueAddAnnot ( )

判断可以连续创建注释。

Returns
如果注释可以连续创建返回 true,否则返回 false

◆ isFormHighlightEnable()

uiextensions.UIExtensionsManager.isFormHighlightEnable ( )

检查是否高亮显示表单域

Returns
true 表示表单高亮可显示,false 表示不可显示

◆ isLinkHighlightEnabled()

uiextensions.UIExtensionsManager.isLinkHighlightEnabled ( )

检查是否高亮显示链接 FoxitRDKNative.pdf.annots.Link

Returns
true 表示高亮显示链接,false 表示不高亮

◆ isLinksEnabled()

uiextensions.UIExtensionsManager.isLinksEnabled ( )

检查链接注释动作事件是否可被触发 FoxitRDKNative.pdf.annots.Link

Returns
true 表示链接注释动作事件可被触发,false 表示不可触发

◆ isUseLogicalPageNumbers()

uiextensions.UIExtensionsManager.isUseLogicalPageNumbers ( )

检查是否使用逻辑页码。

Returns
true 表示使用逻辑页码,false 表示使用物理页码

◆ registerAnnotHandler()

uiextensions.UIExtensionsManager.registerAnnotHandler ( handler  )

向当前 UIExtensions注册指定的 IAnnotHandler

Parameters
handler要注册的 IAnnotHandler

◆ registerInteractionListener()

uiextensions.UIExtensionsManager.registerInteractionListener ( listener  )

注册一个回调,当交互事件发生时调用, 比如返回键,屏幕旋转等。

Parameters
listenerIInteractionEventListener 交互事件监听器

◆ registerMenuEventListener()

uiextensions.UIExtensionsManager.registerMenuEventListener ( listener  )

注册菜单事件回调,当菜单事件被触发时调用。

Parameters
listener要注册的 IMenuEventListener 对象

◆ registerModule()

uiextensions.UIExtensionsManager.registerModule ( module  )

向当前 UIExtensions注册指定模块。

Parameters
module要注册的 IModule

◆ registerToolHandler()

uiextensions.UIExtensionsManager.registerToolHandler ( handler  )

向UIExtensions注册指定的 ToolHandler

Parameters
handler要注册的 IToolHandler

◆ registerToolHandlerChangedListener()

uiextensions.UIExtensionsManager.registerToolHandlerChangedListener ( listener  )

注册一个回调,用于在工具处理器IToolHandler发生变化时被触发。

◆ registerXFAPageEventListener()

uiextensions.UIExtensionsManager.registerXFAPageEventListener ( listener  )

注册XFA页面事件监听器

Parameters
listener需要注册的IXFAPageEventListener监听器对象

◆ registerXFAWidgetEventListener()

uiextensions.UIExtensionsManager.registerXFAWidgetEventListener ( listener  )

注册 XFA WidgetFoxitRDKNative.addon.xfa.XFAWidget事件监听器。

Parameters
listener要注册的 IXFAWidgetEventListener 对象

◆ resetToNormal()

uiextensions.UIExtensionsManager.resetToNormal ( )

重置当前编辑状态,回到普通阅读态。

当处于FillSign编辑状态时,会先保存FillSign内容并重置其相关状态, 然后清除当前工具处理器、批注选中状态及XFA Widget等, 使UIExtensionsManager回到普通阅读模式。 外部在执行保存等操作前,可调用此方法确保编辑态被正确收尾。

◆ setContinueAddAnnot()

uiextensions.UIExtensionsManager.setContinueAddAnnot ( continueAddAnnot  )

设置注释是否可以连续创建,默认值为 false。

Parameters
continueAddAnnot是否允许注释连续创建

◆ setCurrentToolHandler()

uiextensions.UIExtensionsManager.setCurrentToolHandler ( toolHandler  )

设置当前的工具处理器。

Parameters
toolHandler指定当前工具处理器的 IToolHandler 对象

◆ setFormHighlightColor()

uiextensions.UIExtensionsManager.setFormHighlightColor ( color  )

设置表单域的高亮颜色 如果文档已打开,请在设置新值后调用 PDFViewCtrlModel#updatePagesLayout 更新页面布局。

Parameters
color要设置的表单高亮颜色

◆ setLinkEventListener()

uiextensions.UIExtensionsManager.setLinkEventListener ( listener  )

设置链接事件监听器 FoxitRDKNative.pdf.annots.Link

Parameters
listener指定的链接事件监听器 ILinkEventListener

◆ setLinkHighlightColor()

uiextensions.UIExtensionsManager.setLinkHighlightColor ( color  )

设置链接注释的高亮颜色 FoxitRDKNative.pdf.annots.Link

Parameters
color要设置的高亮颜色

◆ setSelectionHighlightColor()

uiextensions.UIExtensionsManager.setSelectionHighlightColor ( color  )

设置选中文本时的高亮颜色(包含透明度)。

Parameters
color要设置的高亮颜色

◆ setUseLogicalPageNumbers()

uiextensions.UIExtensionsManager.setUseLogicalPageNumbers ( useLogicalPageNumbers  )

设置是否使用逻辑页码,默认值为 false。

Parameters
useLogicalPageNumberstrue 表示使用逻辑页码,false 表示使用物理页码

◆ triggerDismissMenuEvent()

uiextensions.UIExtensionsManager.triggerDismissMenuEvent ( )

当菜单被关闭时调用。

◆ unregisterAnnotHandler()

uiextensions.UIExtensionsManager.unregisterAnnotHandler ( handler  )

从当前 UIExtensions中注销指定的 IAnnotHandler

Parameters
handler要注册的 IAnnotHandler

◆ unregisterInteractionListener()

uiextensions.UIExtensionsManager.unregisterInteractionListener ( listener  )

取消注册交互事件监听器。

Parameters
listener交互事件监听器 IInteractionEventListener

◆ unregisterMenuEventListener()

uiextensions.UIExtensionsManager.unregisterMenuEventListener ( listener  )

注销指定的菜单事件监听器。

Parameters
listener要注销的 IMenuEventListener 对象

◆ unregisterModule()

uiextensions.UIExtensionsManager.unregisterModule ( module  )

从当前 UIExtensions中注销指定模块

Parameters
module要注销的 IModule

◆ unregisterToolHandler()

uiextensions.UIExtensionsManager.unregisterToolHandler ( handler  )

从当前 UIExtensions 中注销指定的 ToolHandler

Parameters
handler要注销的 IToolHandler

◆ unregisterToolHandlerChangedListener()

uiextensions.UIExtensionsManager.unregisterToolHandlerChangedListener ( listener  )

取消注册工具处理器IToolHandler 变更监听器。

Parameters
listener要取消注册的 ToolHandlerChangedListener

◆ unregisterXFAPageEventListener()

uiextensions.UIExtensionsManager.unregisterXFAPageEventListener ( listener  )

取消注册XFA页面事件监听器

Parameters
listener需要取消注册的IXFAPageEventListener监听器对象

◆ unregisterXFAWidgetEventListener()

uiextensions.UIExtensionsManager.unregisterXFAWidgetEventListener ( listener  )

取消注册 XFA WidgetFoxitRDKNative.addon.xfa.XFAWidget事件监听器。

Parameters
listener要取消注册的 IXFAWidgetEventListener 对象