ICore 类
class Core::ICoreICore 类允许访问构成 Qt Creator 基本功能的不同部分。更多...
头文件 | #include <coreplugin/icore.h> |
继承 | QObject |
公共类型
枚举类 | ContextPriority { High, Low } |
信号
void | contextAboutToChange(const QList |
void | contextChanged(const Core::Context &context) |
void | coreAboutToClose() |
void | coreAboutToOpen() |
void | coreOpened() |
void | saveSettingsRequested(Core::ICore::SaveSettingsReason reason) |
静态公共成员
void | addAdditionalContext(const Core::Context &context, Core::ICore::ContextPriority priority = ContextPriority::Low) |
void | addContextObject(Core::IContext *context) |
void | addPreCloseListener(const std::function |
void | askForRestart(const QString &text) |
Utils::FilePath | cacheResourcePath(const QString &rel = {}) |
QListcontextObjects(QWidget *widget) | |
QListcurrentContextObjects() | |
QWidget * | currentContextWidget() |
QWidget * | dialogParent() |
Utils::InfoBar * | infoBar() |
Utils::FilePath | installerResourcePath(const QString &rel = {}) |
Core::ICore * | instance() |
bool | isNewItemDialogRunning() |
Utils::FilePath | libexecPath(const QString &rel = {}) |
QMainWindow * | mainWindow() |
QString | msgShowOptionsDialog() |
QString | msgShowOptionsDialogToolTip() |
QWidget * | newItemDialog() |
QPrinter * | printer() |
void | raiseWindow(QWidget *widget) |
void | registerWindow(QWidget *window, const Core::Context &context, const Core::Context &actionContext = {}) |
void | removeAdditionalContext(const Core::Context &context) |
void | removeContextObject(Core::IContext *context) |
Utils::FilePath | resourcePath(const QString &rel = {}) |
void | restart() |
Utils::QtcSettings * | settings(QSettings::Scope scope = QSettings::UserScope) |
void | showNewItemDialog(const QString &title, const QList |
bool | showOptionsDialog(const Utils::Id page, QWidget *parent = nullptr) |
bool | showOptionsDialog(const Utils::Id page, Utils::Id item, QWidget *parent = nullptr) |
bool | showWarningWithOptions(const QString &title, const QString &text, const QString &details = QString(), Utils::Id settingsId = {}, QWidget *parent = nullptr) |
void | updateAdditionalContexts(const Core::Context &remove, const Core::Context &add, Core::ICore::ContextPriority priority = ContextPriority::Low) |
QString | 用户界面语言() |
Utils::FilePath | userResourcePath(const QString &rel = {}) |
QString | 版本字符串() |
详细描述
您不应创建此接口的子类。唯一的一个实例是由核心插件创建的。您可以通过 instance() 方法从您的插件访问此实例。
成员类型文档
enum class ICore::ContextPriority
此枚举定义了附加上下文的优先级。
常量 | 值 | 描述 |
---|---|---|
Core::ICore::ContextPriority::High | 0 | 具有比 Core::IContext 实例上下文优先级的附加上下文。 |
Core::ICore::ContextPriority::Low | 1 | 具有比 Core::IContext 实例上下文优先级的附加上下文。 |
成员函数文档
[静态]
void ICore::addAdditionalContext(const Core::Context &context, Core::ICore::ContextPriority priority = ContextPriority::Low)
将具有指定 priority 的 context 添加到活动的附加上下文列表中。
[静态]
void ICore::addContextObject(Core::IContext *context)
将 context 添加到已注册 IContext 实例的列表中。当 IContext 的 widget 在应用程序焦点窗口的父层次结构中时,其 context 将添加到活动上下文列表中。
另请参阅removeContextObject,updateAdditionalContexts,currentContextObjects,以及 动作管理和命令。
[静态]
void ICore::addPreCloseListener(const std::function<bool ()> &listener)
为插件提供挂钩,以拒绝关闭应用程序。
当应用程序窗口请求关闭时,调用所有监听器。如果其中一个 listener 的调用返回 false
,则进程被终止,事件被忽略。如果所有调用都返回 true
,则发出 coreAboutToClose(),并接受或执行事件。
[静态]
void ICore::askForRestart(const QString &text)
显示一个模态对话框,询问用户是否想要重新启动 Qt Creator。使用 text 作为对话框的主要文本,并在用户选择该选项时触发 Qt Creator 的重启。
[静态]
Utils::FilePath ICore::cacheResourcePath(const QString &rel = {})
返回可用于持久化缓存文件的相对路径 rel 的可写路径。
[信号]
void ICore::contextAboutToChange(const QList<Core::IContext *> &context)
指示新 context 将很快成为当前上下文(意味着其窗口获得了焦点)。
[信号]
void ICore::contextChanged(const Core::Context &context)
指示一个新 context just became the current context. 这包括焦点对象上下文以及附加上下文。
[静态]
QList<Core::IContext *> ICore::contextObjects(QWidget *widget)
返回指定 widget 的所有已注册 IContext 实例,如果有。
[信号]
void ICore::coreAboutToClose()
允许插件执行一些生命结束前的操作。
在此信号发出后,应用程序保证要关闭。这将作为常规插件生命周期函数的补充,即 IPlugin::aboutToShutdown()
,仅为了方便。
[信号]
void ICore::coreAboutToOpen()
指示所有插件都已加载,主窗口即将显示。
[信号]
void ICore::coreOpened()
指示所有插件都已加载,主窗口已显示。
[静态]
QList<Core::IContext *> ICore::currentContextObjects()
返回当前顶级上下文窗口的 IContext 列表,如果没有,则返回空列表。
另请参阅updateAdditionalContexts(),addContextObject() 和 动作管理器和命令。
[静态]
QWidget *ICore::currentContextWidget()
返回当前上下文顶级 IContext 的窗口,如果没有,则返回 nullptr
。
[静态]
QWidget *ICore::dialogParent()
返回一个 widget 指针,适合用作 QDialog 的父级。
[静态]
Utils::InfoBar *ICore::infoBar()
返回在 Qt Creator 主窗口中显示的中心 InfoBar。用于在不打断对话框的情况下通知用户。请勿过度使用。
[静态]
Utils::FilePath ICore::installerResourcePath(const QString &rel = {})
返回基于相对路径 rel 的安装器写入的资源路径,例如预定义的工具包和编译器。
[静态]
Core::ICore *ICore::instance()
返回实例的指针。仅用于连接到信号。
[静态]
bool ICore::isNewItemDialogRunning()
返回是否当前打开了新项目对话框。
[静态]
Utils::FilePath ICore::libexecPath(const QString &rel = {})
返回基于相对路径 rel 的 Qt Creator 安装中包含的命令行工具的路径。
[静态]
QMainWindow *ICore::mainWindow()
返回应用程序的主窗口。
对于对话框父项,请使用 dialogParent()。
另请参阅 dialogParent()。
[静态]
QString ICore::msgShowOptionsDialog()
返回用于打开选项对话框的按钮上要使用的文本。
另请参阅 showOptionsDialog() 和 msgShowOptionsDialogToolTip()。
[静态]
QString ICore::msgShowOptionsDialogToolTip()
返回用于打开选项对话框的按钮上要使用的工具提示。
另请参阅 showOptionsDialog() 和 msgShowOptionsDialog()。
[静态]
QWidget *ICore::newItemDialog()
返回当前打开的新项目对话框小部件,如果没有则返回 nullptr
。
另请参阅 isNewItemDialogRunning() 和 showNewItemDialog()。
[静态]
QPrinter *ICore::printer()
返回应用程序的打印机对象。
始终使用此打印机对象进行打印,以确保应用程序的不同部分重用其设置。
[静态]
void ICore::raiseWindow(QWidget *widget)
提升并激活 widget 的窗口。这包含 X11 的解决方案。
[静态]
void ICore::registerWindow(QWidget *window, const Core::Context &context, const Core::Context &actionContext = {})
将指定的窗口与上下文注册。已注册的窗口将在窗口菜单中显示,并注册为各种与窗口相关的操作,例如最小化、缩放、全屏和关闭操作。操作上下文默认为context,但可以被actionContext覆盖。
每当应用程序焦点在窗口中时,其上下文将被激活。
[静态]
void ICore::removeAdditionalContext(const Core::Context &context)
从活动的附加上下文列表中删除上下文。
[静态]
void ICore::removeContextObject(Core::IContext *context)
将上下文对象从已注册的IContext实例列表中注销。当它们被删除时,IContext实例将自动删除。
另请参阅addContextObject(),updateAdditionalContexts()和currentContextObjects。
[静态]
Utils::FilePath ICore::resourcePath(const QString &rel = {})
返回相对路径rel的绝对路径,该路径用于资源,如项目模板和调试宏。
由于例如在macOS上,资源是应用程序包的一部分,因此需要这种抽象来避免到处都是平台特定的代码。
另请参阅userResourcePath。
[静态]
void ICore::restart()
重新启动Qt Creator并恢复最后会话。
[信号]
void ICore::saveSettingsRequested(Core::ICore::SaveSettingsReason reason)
指示用户请求将全局设置原因保存到磁盘。
这发生在应用程序关闭和保存所有时。
[静态]
Utils::QtcSettings *ICore::settings(QSettings::Scope scope = QSettings::UserScope)
返回应用程序的主设置对象。
您可以使用它来检索或设置应用程序级别的设置(与会话或项目特定设置相反)。
如果作用域是QSettings::UserScope
(默认),则设置将从用户设置中读取,并在Qt Creator中提供全局设置的回退。
如果作用域是QSettings::SystemScope
,则仅读取与当前Qt Creator版本一起提供的安装设置。此功能仅用于内部目的。
[静态]
void ICore::showNewItemDialog(const QString &title, const QList<Core::IWizardFactory *> &factories, const Utils::FilePath &defaultLocation = {}, const QVariantMap &extraVariables = {})
打开一个对话框,用户可以从一组factories(创建新文件或项目的工厂)中进行选择。
title参数作为对话框标题显示。如果用户不更改,文件将被创建在defaultLocation指定的路径中。默认为DocumentManager::projectsDirectory() 或 DocumentManager::fileDialogLastVisitedDirectory(),具体取决于向导类型。
在extraVariables中设置了向导的额外变量。
另请参阅 Core::DocumentManager、isNewItemDialogRunning() 和 newItemDialog()。
[静态]
bool ICore::showOptionsDialog(const Utils::Id page, QWidget *parent = nullptr)
在指定的page上打开选项对话框。对话框的parent默认为dialogParent。如果在调用此方法时对话框已显示,则仅将其切换到指定的page。
返回用户是否接受了对话框。
另请参阅 msgShowOptionsDialog() 和 msgShowOptionsDialogToolTip()。
[静态]
bool ICore::showOptionsDialog(const Utils::Id page, Utils::Id item, QWidget *parent = nullptr)
在指定的page上打开选项对话框。对话框的parent默认为dialogParent。如果在调用此方法时对话框已显示,则仅将其切换到指定的page。预先选中由item指定的对话框的一部分,对话框知道如何解释它。
返回用户是否接受了对话框。
另请参阅 msgShowOptionsDialog() 和 msgShowOptionsDialogToolTip()。
[静态]
bool ICore::showWarningWithOptions(const QString &title, const QString &text, const QString &details = QString(), Utils::Id settingsId = {}, QWidget *parent = nullptr)
创建一个包含打开由settingsId指定的设置页面配置按钮的消息框。
对话框有title,并显示消息text和由details指定的详细信息。
使用此函数显示配置错误,并指导用户修复应修复的设置。
如果用户接受设置对话框,则返回true
。
另请参阅 showOptionsDialog()。
[静态]
void ICore::updateAdditionalContexts(const Core::Context &remove, const Core::Context &add, Core::ICore::ContextPriority priority = ContextPriority::Low)
从活动额外上下文列表中移除由remove指定的上下文,并以priority将指定的add上下文添加进去。
额外上下文与IContext实例不相关。
高优先级的额外上下文优先级高于由IContext实例添加的上下文,低优先级的额外上下文优先级低于由IContext实例添加的上下文。
另请参阅addContextObject() 和 动作管理器和命令。
[静态]
QString ICore::userInterfaceLanguage()
返回当前在 Qt Creator 中配置的用户界面语言的区域字符串。使用此功能通过 QTranslator 安装您的插件翻译文件。
[静态]
Utils::FilePath ICore::userResourcePath(const QString &rel = {})
返回用户目录中相对路径 rel 的绝对路径,用于资源如项目模板。
使用该函数查找用户可能写入的资源位置,例如,允许自定义面板或模板。
另请参阅resourcePath。
[静态]
QString ICore::versionString()
返回包含 IDE 名称和版本的字符串,格式为 "Qt Creator X.Y.Z"。请在 "由…生成" 字符串和类似任务中使用。
©2024 The Qt Company Ltd. 此文档中包含的文档贡献是各自所有者的版权。此处提供的文档是根据自由软件基金会公布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 和相应的标识是芬兰及其全球子公司和分支机构 The Qt Company Ltd 的商标。所有其他商标均为其各自所有者的财产。