TinyNotepad 是一个简单的记事本应用程序,具有基本的文本编辑功能。该应用程序支持文件操作、文本编辑、查找和替换文本,还包括可自定义的外观设置。
本自述文件由ChatGPT-4o根据
doc.md生成,简化版可以看那个
运行 NoteapdApp 类即可启动应用程序。这将打开主窗口,并提供上述所有功能。
主窗口包含一个菜单栏,提供各种文件操作、文本编辑和设置选项。
- 新建: 创建一个新文件。
- 打开: 打开一个现有文件。
- 关闭: 关闭当前文件。
- 保存: 保存当前文件。
- 另存为: 将当前文件另存为一个新文件。
- 设置: 打开设置窗口。
- 退出: 退出应用程序。
- 撤销: 撤销上一个操作。
- 重做: 重做上一个撤销的操作。
- 剪切: 剪切选中的文本。
- 复制: 复制选中的文本。
- 粘贴: 粘贴剪贴板中的文本。
- 删除: 删除选中的文本。
- 全选: 选中所有文本。
- 取消全选: 取消所有文本的选择。
- 查找: 查找文档中的文本。
- 替换: 替换文档中的文本。
- 应用程序的入口,负责加载主窗口。
- 管理主窗口,并绑定操作到 UI 控件。
- 成员变量:
Settings: 配置类的单例实例。settingsController: 设置窗口的控制器。searchManager: 查找功能的控制器。saveManager: 文件保存管理器。
- 负责具体的文件操作。
- 管理文件的保存,包括自动保存和退出保存机制。
- 成员变量:
hasSaved: 表示当前文件是否已保存。boundedFile: 绑定到当前文档的文件对象。如果为null,则使用一个临时文件进行自动保存。
- 方法:
saveToFile(): 保存到文件。saveAs(): 另存为一个新文件。save(): 保存到绑定的文件,如果没有绑定文件,则调用saveAs()。autoSave(): 自动保存到临时文件,如果没有绑定文件。
- 保有设置字段,采用单例模式。
- 管理设置窗口,展示和处理用户交互。
- 方法:
openSettings(): 打开设置窗口。closeSettings(): 关闭设置窗口时触发。applySettings(): 应用设置(保存设置到Settings类),并且重新加载记事本或其他方式让新设置立即生效。askforSave(): 询问是否保存更改,如果保存,则调用applySettings(),仅在有修改时。
- 管理设置中的外观设置,包括字体、颜色和字体大小。
- 管理查找功能,包括查找、替换和高亮文本。
- 方法:
highlight(searchText): 高亮显示查找的文本。replace(searchText, replaceText): 用替换文本替换查找的文本。
- 管理查找窗口,展示和处理查找和替换功能的用户交互。