|
DAWorkbench 0.0.1
DAWorkbench API
|
QGraphicsTextItem是一个非常复杂的item,里面包含了QWidgetTextControl多达3000行,暂时不尝试写一个类似的控件 更多...
#include <DAGraphicsStandardTextItem.h>
Public 类型 | |
| enum | { Type = DA::ItemType_DAGraphicsStandardTextItem } |
| 适用qgraphicsitem_cast | |
Public 成员函数 | |
| int | type () const override |
| DAGraphicsStandardTextItem (QGraphicsItem *parent=nullptr) | |
| DAGraphicsStandardTextItem (const QString &str, const QFont &f, QGraphicsItem *parent=nullptr) | |
| DAGraphicsStandardTextItem (const QFont &f, QGraphicsItem *parent=nullptr) | |
| void | setEditable (bool on=true) |
| 设置编辑模式 | |
| bool | isEditable () const |
| 是否可编辑 | |
| virtual bool | saveToXml (QDomDocument *doc, QDomElement *parentElement, const QVersionNumber &ver) const override |
| virtual bool | loadFromXml (const QDomElement *itemElement, const QVersionNumber &ver) override |
| void | setScenePos (const QPointF &p) |
| void | setScenePos (qreal x, qreal y) |
| uint64_t | getItemID () const |
| void | setItemID (uint64_t id) |
| void | setSelectTextFamily (const QString &v) |
| 设置选中文本字体,如果没选中,将设置全部 | |
| QString | getSelectTextFamily () const |
| 获取选中文本字体字体名称,如果无法获取,返回QString() | |
| void | setSelectTextColor (const QColor &v) |
| 设置选中的颜色,如果没有选中对象,尝试全选 | |
| QColor | getSelectTextColor () const |
| 获取选中的颜色,如果没有选中对象,尝试全选 | |
| void | setSelectTextFont (const QFont &v) |
| 设置选中文本字体,如果没选中,将设置全部 | |
| QFont | getSelectTextFont () const |
| 选中文本字体,如果没选中,将设置全部 | |
| void | setSelectTextPointSize (int v) |
| 设置选中文本的字体大小 | |
| int | getSelectTextPointSize () const |
| 选中文本的字体大小 | |
| void | setSelectTextItalic (bool on) |
| 文字斜体 | |
| bool | getSelectTextItalic () const |
| 文字斜体 | |
| void | setSelectTextBold (bool on) |
| 文字粗体 | |
| bool | getSelectTextBold () const |
| 文字粗体 | |
| bool | getAutoBindRedoundoToScene () const |
| 是否自动绑定DAGraphicsScene的redo/undo | |
| void | setAutoBindRedoundoToScene (bool v) |
| 设置自动绑定DAGraphicsScene的redo/undo | |
| void | clearTextSelection () |
| 清除文字的选中 | |
Protected 成员函数 | |
| virtual void | focusOutEvent (QFocusEvent *focusEvent) override |
| virtual void | mouseDoubleClickEvent (QGraphicsSceneMouseEvent *event) override |
| virtual QVariant | itemChange (QGraphicsItem::GraphicsItemChange change, const QVariant &value) override |
额外继承的成员函数 | |
静态 Public 成员函数 继承自 DA::DAXMLFileInterface | |
| template<typename std_container_like > | |
| static QDomElement | makeElement (const std_container_like &v, const QString &tagName, QDomDocument *doc) |
| 生成一个文本 | |
| template<typename std_container_like > | |
| static bool | loadElement (std_container_like &v, const QDomElement *ele) |
| 加载文本 | |
| static QDomElement | makeSysInfoElement (const QString &tagName, QDomDocument *doc) |
| static void | appendElementWithText (QDomElement &parent, const QString &tagName, const QString &text, QDomDocument *doc) |
| 在parent下,插入一个tag,tag下包含文字text | |
QGraphicsTextItem是一个非常复杂的item,里面包含了QWidgetTextControl多达3000行,暂时不尝试写一个类似的控件
这个控件不是继承DAGraphicsItem,但增加了id和xml接口,可以进行关联,同时,能自动把修改的redo/undo命令添加到DAGraphicsScene中
|
overrideprotectedvirtual |
这里不能执行下面这些语句,尤其把选中内容取消,这样会导致一些控件无法选中文本进行修改, 例如颜色改变按钮,是个弹出的menu,如果失去焦点就情况选中,会把选中擦去,就无法改变局部颜色
| bool DA::DAGraphicsStandardTextItem::getAutoBindRedoundoToScene | ( | ) | const |
是否自动绑定DAGraphicsScene的redo/undo
| bool DA::DAGraphicsStandardTextItem::getSelectTextBold | ( | ) | const |
文字粗体
| QColor DA::DAGraphicsStandardTextItem::getSelectTextColor | ( | ) | const |
获取选中的颜色,如果没有选中对象,尝试全选
| QString DA::DAGraphicsStandardTextItem::getSelectTextFamily | ( | ) | const |
获取选中文本字体字体名称,如果无法获取,返回QString()
| QFont DA::DAGraphicsStandardTextItem::getSelectTextFont | ( | ) | const |
选中文本字体,如果没选中,将设置全部
| bool DA::DAGraphicsStandardTextItem::getSelectTextItalic | ( | ) | const |
文字斜体
| int DA::DAGraphicsStandardTextItem::getSelectTextPointSize | ( | ) | const |
选中文本的字体大小
| bool DA::DAGraphicsStandardTextItem::isEditable | ( | ) | const |
是否可编辑
|
overrideprotectedvirtual |
此方法有问题,前面有2个不知名的command
此方法不行,undoCommandAdded获取的html不是文本改变后的html
此方法可行,但是需要记录非常多的命令,每个字符串的变化都会记录,虽然可以做压缩, 通过记录变更日期和内容进行时间和内容的压缩,但还是会每敲一个字就触发一次记录 通过focusOutEvent,无法捕获到全局的变化,如全局的颜色设置等
|
overridevirtual |
|
overridevirtual |
| void DA::DAGraphicsStandardTextItem::setAutoBindRedoundoToScene | ( | bool | v | ) |
设置自动绑定DAGraphicsScene的redo/undo
如果是,这样QDocumentText的redo/undo会自动被DAGraphicsScene的redo/undo捕获
| v |
| void DA::DAGraphicsStandardTextItem::setEditable | ( | bool | on = true | ) |
设置编辑模式
| on |
| void DA::DAGraphicsStandardTextItem::setSelectTextBold | ( | bool | on | ) |
文字粗体
| on |
| void DA::DAGraphicsStandardTextItem::setSelectTextColor | ( | const QColor & | v | ) |
设置选中的颜色,如果没有选中对象,尝试全选
| v |
| void DA::DAGraphicsStandardTextItem::setSelectTextFamily | ( | const QString & | v | ) |
设置选中文本字体,如果没选中,将设置全部
| v |
| void DA::DAGraphicsStandardTextItem::setSelectTextFont | ( | const QFont & | v | ) |
设置选中文本字体,如果没选中,将设置全部
| v |
| void DA::DAGraphicsStandardTextItem::setSelectTextItalic | ( | bool | on | ) |
文字斜体
| on |
| void DA::DAGraphicsStandardTextItem::setSelectTextPointSize | ( | int | v | ) |
设置选中文本的字体大小
| v |