|
@@ -1,4 +1,47 @@
|
|
-## PDF Reader Pro Mac 主要模块的入口
|
|
|
|
|
|
+## App 需要记录的信息汇总
|
|
|
|
+
|
|
|
|
+- 页签窗口控制器 KMBrowserWindowController
|
|
|
|
+- 页签窗口 KMBrowserWindowController
|
|
|
|
+- 文档 KMMainDocument
|
|
|
|
+- 首页页签内容控制器 KMHomeViewController
|
|
|
|
+- 阅读页签内容控制器 KMMainViewController
|
|
|
|
+- 页签操作可查看 KMBrowser
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+## App 架构
|
|
|
|
+- MVC
|
|
|
|
+- MVC 目前存在 C 比较臃肿的弊端,但是也是可以使用的,比较臃肿的问题待后续优化.
|
|
|
|
+
|
|
|
|
+## 多页签
|
|
|
|
+
|
|
|
|
+- 页签操作 KMBrowser [CTTabStripModel 实际操作对象]
|
|
|
|
+- 窗口控制器 KMBrowserWindowController
|
|
|
|
+- 窗口 KMBrowserWindow
|
|
|
|
+- 页签区域控制器 KMTabStripController
|
|
|
|
+- 页签区域 KMTabStripView
|
|
|
|
+- 页签控制器 CTTabController
|
|
|
|
+- 页签视图 CTTabView
|
|
|
|
+- 页签内容控制器 CTTabContentsController [KMHomeViewController + KMMainViewController 都是显示在其上]
|
|
|
|
+- 页签内容提供者 CTTabContents(文档 当前App对应的是 KMMainDocument)
|
|
|
|
+
|
|
|
|
+- 页签拖拽 CTTabStripDragController
|
|
|
|
+
|
|
|
|
+* 内存管理
|
|
|
|
+1. KMBrowser [-> CTTabStripModel -> KMMainDocument] -> KMMainDocument -> KMBrowser
|
|
|
|
+2. 环形内存引用 让内存不释放。在适当的时机断环来释放内存,避免循环引用.
|
|
|
|
+3. KMBrowser -> KMBrowserWindowController 因强引用 页签窗口控制器,这也是页签窗口控制器没有被持有而没有释放的原因.
|
|
|
|
+
|
|
|
|
+* 事件传递
|
|
|
|
+1. target-action [KMTabStripController -> CTTabController, CTTabController --> KMTabStripController(target)]
|
|
|
|
+2. 响应者链 [NewTabButton]
|
|
|
|
+3. 通知 [CTTabStripModel]
|
|
|
|
+4. 代理 [KMBrowser -> CTTabStripModel, CTTabStripModel --> KMBrowser(delegate)]
|
|
|
|
+
|
|
|
|
+* 维护建议
|
|
|
|
+1. 新增功能或修复bug,尽量通过重写类来处理,保证三方库内部尽可能少的改动.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+## App 主要模块的入口
|
|
|
|
|
|
## 首页
|
|
## 首页
|
|
|
|
|
|
@@ -37,18 +80,23 @@
|
|
* AIConfigWindowController
|
|
* AIConfigWindowController
|
|
|
|
|
|
## 合并
|
|
## 合并
|
|
|
|
+
|
|
* KMMergeWindowController
|
|
* KMMergeWindowController
|
|
|
|
|
|
## 转档
|
|
## 转档
|
|
|
|
+
|
|
* KMConvertWindowController
|
|
* KMConvertWindowController
|
|
|
|
|
|
## 批量
|
|
## 批量
|
|
|
|
+
|
|
* KMBatchOperateWindowController
|
|
* KMBatchOperateWindowController
|
|
|
|
|
|
## 图片转PDF
|
|
## 图片转PDF
|
|
|
|
+
|
|
* KMBatchOperateBaseWindowController
|
|
* KMBatchOperateBaseWindowController
|
|
|
|
|
|
## 属性面板
|
|
## 属性面板
|
|
|
|
+
|
|
* KMGeneralAnnotationViewController
|
|
* KMGeneralAnnotationViewController
|
|
|
|
|
|
- 【页面设置】
|
|
- 【页面设置】
|
|
@@ -80,37 +128,47 @@
|
|
* 图片 KMEditImagePropertyViewController
|
|
* 图片 KMEditImagePropertyViewController
|
|
|
|
|
|
## What's New
|
|
## What's New
|
|
|
|
+
|
|
* KMFunctionGuideWindowController
|
|
* KMFunctionGuideWindowController
|
|
|
|
|
|
## 信息
|
|
## 信息
|
|
|
|
+
|
|
* KMProfileInfoWindowController
|
|
* KMProfileInfoWindowController
|
|
|
|
|
|
## 幻灯片
|
|
## 幻灯片
|
|
|
|
+
|
|
* 选项设置 SKPresentationOptionsSheetController
|
|
* 选项设置 SKPresentationOptionsSheetController
|
|
|
|
|
|
## 注释工具
|
|
## 注释工具
|
|
|
|
+
|
|
* 笔记 CPDFListAnnotationNoteWindowController
|
|
* 笔记 CPDFListAnnotationNoteWindowController
|
|
* 便签 CPDFListEditAnnotationViewController
|
|
* 便签 CPDFListEditAnnotationViewController
|
|
|
|
|
|
* 自定义注释工具 KMToolbarCustomWindowController
|
|
* 自定义注释工具 KMToolbarCustomWindowController
|
|
|
|
|
|
## 填写与签名
|
|
## 填写与签名
|
|
|
|
+
|
|
* 日期注释 CSelfSignAnnotationFreeText
|
|
* 日期注释 CSelfSignAnnotationFreeText
|
|
|
|
|
|
## 数字签名
|
|
## 数字签名
|
|
|
|
+
|
|
* KMPDFDigitalSignViewController
|
|
* KMPDFDigitalSignViewController
|
|
|
|
|
|
## 导入 [扫描仪 & 相册]
|
|
## 导入 [扫描仪 & 相册]
|
|
|
|
+
|
|
* KMDeviceBrowserWindowController
|
|
* KMDeviceBrowserWindowController
|
|
|
|
|
|
## 线条设置窗口
|
|
## 线条设置窗口
|
|
|
|
+
|
|
* KMLineInspector
|
|
* KMLineInspector
|
|
* KMAnnotationLineWindowController
|
|
* KMAnnotationLineWindowController
|
|
|
|
|
|
## 笔记类型窗口
|
|
## 笔记类型窗口
|
|
|
|
+
|
|
* KMNotesPanelController
|
|
* KMNotesPanelController
|
|
|
|
|
|
## 字体设置窗口
|
|
## 字体设置窗口
|
|
|
|
+
|
|
* KMAnnotationFontWindowController
|
|
* KMAnnotationFontWindowController
|
|
|
|
|
|
## xxx
|
|
## xxx
|