BaseAspect 类

class Utils::BaseAspect

The BaseAspect class provides a common base for classes implementing aspects. More...

头文件 #include <BaseAspect>
继承 QObject
继承自

Utils::AspectContainer, Utils::TextDisplay, and Utils::TypedAspect

公共类型

enumAnnouncement { DoEmit, BeQuiet }

公共函数

BaseAspect(Utils::AspectContainer *container = nullptr)
virtual~BaseAspect() override
virtual voidaddToLayout(Layouting::Layout &parent)
virtual voidapply()
virtual voidcancel()
QStringdisplayName() const
virtual voidfromMap(const Utils::Store &map)
QStringlabelText() const
virtual voidsetAutoApply(bool on)
voidsetEnabler(Utils::BoolAspect *checker)
voidsetLabelPixmap(const QPixmap &labelPixmap)
voidsetLabelText(const QString &labelText)
voidsetSettingsKey(const Utils::Key &key)
voidsetSettingsKey(const Utils::Key &group, const Utils::Key &key)
voidsetToolTip(const QString &tooltip)
virtual voidsetVariantValue(const QVariant &value, Utils::BaseAspect::Announcement howToAnnounce = DoEmit)
voidsetVisible(bool visible)
Utils::KeysettingsKey() const
virtual voidtoMap(Utils::Store &map) const
voidwriteToSettingsImmediatly() const

详细描述

An aspect is a hunk of data like a property or collection of related properties of some object, together with a description of its behavior for common operations like visualizing or persisting.

简单方面,例如,由用户界面中的 QCheckBox 表示的布尔属性,或由 PathChooser 表示的字符串属性,用于在文件系统中选择目录。

尽管方面实现通常可以可视化其数据或使用ID,但这不是强制性的。

派生类可以实施 addToLayout() 来创建UI。

实现 guiToBuffer()bufferToGui() 以将UI与内部数据同步。

成员类型文档

enum BaseAspect::Announcement

值变化时是否发出信号。

常数描述
Utils::BaseAspect::DoEmit0发出信号。
Utils::BaseAspect::BeQuiet1不发出信号。

成员函数文档

BaseAspect::BaseAspect(Utils::AspectContainer *container = nullptr)

构建一个基本方面。

如果 container 非空,则方面被容器所知晓。

[覆盖虚函数 noexcept] BaseAspect::~BaseAspect()

析构一个 BaseAspect

[虚函数] void BaseAspect::addToLayout(Layouting::Layout &parent)

使用布局构建器将此方面的视觉表示添加到指定 parent 的布局中。

[虚函数] void BaseAspect::apply()

从用户的仪表板更改更新此方面的值。

如果值已更改,发出 changed()。

[虚函数] void BaseAspect::cancel()

取消用户的仪表板更改并从方面的值恢复仪表板内容。

这仅在 isAutoApply 为 false 时才有作用。

QString BaseAspect::displayName() const

当此操作出现在菜单或其他通常使用书籍风格首字母大写的位置时,返回应使用的字符串。

如果未设置显示名称,则将使用标签文本作为后备。

[虚函数] void BaseAspect::fromMap(const Utils::Store &map)

从 Store map 中获取此 BaseAspect 的内部值。

QString BaseAspect::labelText() const

返回此方面视觉表示中单独标签的当前文本。

另请参阅setLabelText().

[虚函数] void BaseAspect::setAutoApply(bool on)

设置自动应用模式。当自动应用模式 on 开启时,用户与此方面部件的交互将不会修改方面的 value 直到程序调用 apply()

另请参阅setSettingsKey().

void BaseAspect::setEnabler(Utils::BoolAspect *checker)

使此方面的启用状态取决于 checker 的已检查状态。

void BaseAspect::setLabelPixmap(const QPixmap &labelPixmap)

labelPixmap 设置为此方面的视觉表示中单独标签的位图。

void BaseAspect::setLabelText(const QString &labelText)

labelText 设置为此方面的视觉表示中单独标签的文本。

另请参阅 labelText

void BaseAspect::setSettingsKey(const Utils::Key &key)

设置在访问设置时使用的 key

另请参阅 settingsKey

void BaseAspect::setSettingsKey(const Utils::Key &group, const Utils::Key &key)

设置在访问设置时使用的 keygroup

另请参阅 settingsKey

void BaseAspect::setToolTip(const QString &tooltip)

tooltip 设置为此方面视觉表示的工具提示。

[virtual] void BaseAspect::setVariantValue(const QVariant &value, Utils::BaseAspect::Announcement howToAnnounce = DoEmit)

设置 value

如果将 howToAnnounce 设置为 DoEmit,则发出 valueChanged 信号。

建议使用派生类的类型化 setValue()

void BaseAspect::setVisible(bool visible)

根据 visible 的值显示或隐藏此方面的视觉表示。默认情况下是可见的。

Utils::Key BaseAspect::settingsKey() const

返回在访问设置时使用的键。

另请参阅setSettingsKey().

[virtual] void BaseAspect::toMap(Utils::Store &map) const

将此 BaseAspect 的内部值存储到存储 map 中。

void BaseAspect::writeToSettingsImmediatly() const

立即将此方面的值写入其指定的设置,考虑可能的容器设置组规范。

注意: 这是一项昂贵的操作,因此只有在有充分理由的情况下才应使用。

©2024 Qt公司有限公司。本内部包含的文档贡献归各自所有者版权所有。本内部提供的文档是根据自由软件基金会发布的 GNU自由文档许可证版本1.3 的条款许可的。Qt及其相关标志是芬兰Qt公司及其它/他国/地区的商标。所有其他商标都是其各自所有者的财产。