#include <QBoxLayout>#include <QLabel>#include <QTextEdit>#include <spdlog/spdlog.h>#include "node_content_widget.h"#include "node_node.h"static bool NODECONTENTDEBUG = false;QDMNodeContentWidget::QDMNodeContentWidget(std::weak_ptr<Node>node, QWidget* parent):QWidget(parent){m_node = node;initUI();if (NODECONTENTDEBUG){spdlog::info("NodeContentWidget create sucess");}}QDMNodeContentWidget::~QDMNodeContentWidget(){if (NODECONTENTDEBUG){spdlog::info("NodeContentWidget delete sucess");}}void QDMNodeContentWidget::initUI(){auto Layout = new QVBoxLayout(this);Layout->setContentsMargins(0,0,0,0);//设置边距auto wdg_label = new QLabel("any Title",this);Layout->addWidget(wdg_label);Layout->addWidget(new QDMTextEdit("foo",this));setLayout(Layout);}void QDMNodeContentWidget::setEditingFlag(bool flag){m_editingFlag = flag;}const rapidjson::Document QDMNodeContentWidget::serialize(){rapidjson::Document d; // 创建JSON对象d.SetObject();d.AddMember("undefind", "temp_Nothing", d.GetAllocator());return d;}void QDMNodeContentWidget::deserialize(const rapidjson::Value& value){}QDMTextEdit::QDMTextEdit(const QString& text, QWidget* parent):QTextEdit(text, parent){}void QDMTextEdit::keyPressEvent(QKeyEvent* e){QTextEdit::keyPressEvent(e);}void QDMTextEdit::focusInEvent(QFocusEvent* e){if (NODECONTENTDEBUG) {spdlog::info("focus in");}auto x = dynamic_cast<QDMNodeContentWidget*>(parentWidget());if (x!=nullptr){x->setEditingFlag(true);}QTextEdit::focusInEvent(e);}void QDMTextEdit::focusOutEvent(QFocusEvent* e){if (NODECONTENTDEBUG) {spdlog::info("focus out");}auto x = dynamic_cast<QDMNodeContentWidget*>(parentWidget());if (x != nullptr){x->setEditingFlag(false);}QTextEdit::focusOutEvent(e);}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。