Yayin Story Studio logo Yayin Story Studio 项目文档
回到主页 用户手册

FileServerManager Class

class YSSCore::Editor::FileServerManager

管理FileServer的对象。. 详情...

头文件: #include <FileServerManager>
自以下版本: Visindigo 0.13.0

公开成员函数

(自 Visindigo 0.13.0 引入) ~FileServerManager()
bool openFile(const QString &filePath)
void registerFileServer(YSSCore::Editor::FileServer *server)
void unregisterFileServer(YSSCore::Editor::FileServer *server)

信号

void builtinEditorCreated(YSSCore::Editor::FileEditWidget *editor)
void windowEditorCreated(QWidget *editor)

静态公开成员

YSSCore::Editor::FileServerManager *getInstance()

详细说明

在用户将自己的FileServer注册到FileServerManager后,FileServerManager可以根据已经注册的支持类型选择合适的FileServer来打开文件。

成员函数文档

[noexcept, since Visindigo 0.13.0] FileServerManager::~FileServerManager()

析构FileServerManager对象。一般来说,没有任何情况需要手动析构此对象。FileServerManager应该与使用它的应用程序有一致的生命周期。

这个 function 从 Visindigo 0.13.0 开始支持。

[signal] void FileServerManager::builtinEditorCreated(YSSCore::Editor::FileEditWidget *editor)

当内置编辑器被创建时发出该信号。

这包括YSSCore::Editor::FileServer::EditorType为CodeEditor和BuiltInEditor的情况。

[static] YSSCore::Editor::FileServerManager *FileServerManager::getInstance()

获取FileServerManager的单例对象。 \return 返回FileServerManager的单例对象。

bool FileServerManager::openFile(const QString &filePath)

打开一个文件。如果有合适的FileServer注册,则使用该FileServer打开文件,否则使用内置的文本编辑器打开文件。 filePath 要打开的文件路径。 \return 如果文件成功打开则返回true,否则返回false。

当前的实现中,如果有多个FileServer支持同一种文件类型,则总是使用第一个注册的FileServer来打开该类型的文件。

Warning: 这是设计缺陷,未来的版本中会改进这一点。

void FileServerManager::registerFileServer(YSSCore::Editor::FileServer *server)

注册一个FileServer对象。 \param server 要注册的FileServer对象指针。 如果同一个FileServer对象被重复注册,则不会有任何效果。

void FileServerManager::unregisterFileServer(YSSCore::Editor::FileServer *server)

注销一个已经注册的FileServer对象。 \param server 要注销的FileServer对象指针。 如果传入的FileServer对象没有被注册,则不会有任何效果。

[signal] void FileServerManager::windowEditorCreated(QWidget *editor)

当窗口编辑器被创建时发出该信号。 这只对应YSSCore::Editor::FileServer::EditorType为WindowEditor的情况。