|
|
@ -1,6 +1,7 @@
|
|
|
|
#include "nodedata.h"
|
|
|
|
#include "nodedata.h"
|
|
|
|
#include <QDataStream>
|
|
|
|
#include <QDataStream>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// NodeData 类的构造函数,初始化成员变量
|
|
|
|
NodeData::NodeData()
|
|
|
|
NodeData::NodeData()
|
|
|
|
: m_id{ SpecialNodeID::InvalidNodeId },
|
|
|
|
: m_id{ SpecialNodeID::InvalidNodeId },
|
|
|
|
m_isModified(false),
|
|
|
|
m_isModified(false),
|
|
|
@ -14,206 +15,247 @@ NodeData::NodeData()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取节点ID
|
|
|
|
int NodeData::id() const
|
|
|
|
int NodeData::id() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_id;
|
|
|
|
return m_id;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置节点ID
|
|
|
|
void NodeData::setId(int id)
|
|
|
|
void NodeData::setId(int id)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_id = id;
|
|
|
|
m_id = id;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取节点的完整标题
|
|
|
|
QString NodeData::fullTitle() const
|
|
|
|
QString NodeData::fullTitle() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_fullTitle;
|
|
|
|
return m_fullTitle;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置节点的完整标题
|
|
|
|
void NodeData::setFullTitle(const QString &fullTitle)
|
|
|
|
void NodeData::setFullTitle(const QString &fullTitle)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_fullTitle = fullTitle;
|
|
|
|
m_fullTitle = fullTitle;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取最后修改时间
|
|
|
|
QDateTime NodeData::lastModificationdateTime() const
|
|
|
|
QDateTime NodeData::lastModificationdateTime() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_lastModificationDateTime;
|
|
|
|
return m_lastModificationDateTime;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置最后修改时间
|
|
|
|
void NodeData::setLastModificationDateTime(const QDateTime &lastModificationdateTime)
|
|
|
|
void NodeData::setLastModificationDateTime(const QDateTime &lastModificationdateTime)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_lastModificationDateTime = lastModificationdateTime;
|
|
|
|
m_lastModificationDateTime = lastModificationdateTime;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取节点内容
|
|
|
|
QString NodeData::content() const
|
|
|
|
QString NodeData::content() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_content;
|
|
|
|
return m_content;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置节点内容
|
|
|
|
void NodeData::setContent(const QString &content)
|
|
|
|
void NodeData::setContent(const QString &content)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_content = content;
|
|
|
|
m_content = content;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 检查节点是否被修改过
|
|
|
|
bool NodeData::isModified() const
|
|
|
|
bool NodeData::isModified() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_isModified;
|
|
|
|
return m_isModified;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置节点的修改状态
|
|
|
|
void NodeData::setModified(bool isModified)
|
|
|
|
void NodeData::setModified(bool isModified)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_isModified = isModified;
|
|
|
|
m_isModified = isModified;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 检查节点是否被选中
|
|
|
|
bool NodeData::isSelected() const
|
|
|
|
bool NodeData::isSelected() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_isSelected;
|
|
|
|
return m_isSelected;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置节点的选中状态
|
|
|
|
void NodeData::setSelected(bool isSelected)
|
|
|
|
void NodeData::setSelected(bool isSelected)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_isSelected = isSelected;
|
|
|
|
m_isSelected = isSelected;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取滚动条位置
|
|
|
|
int NodeData::scrollBarPosition() const
|
|
|
|
int NodeData::scrollBarPosition() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_scrollBarPosition;
|
|
|
|
return m_scrollBarPosition;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置滚动条位置
|
|
|
|
void NodeData::setScrollBarPosition(int scrollBarPosition)
|
|
|
|
void NodeData::setScrollBarPosition(int scrollBarPosition)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_scrollBarPosition = scrollBarPosition;
|
|
|
|
m_scrollBarPosition = scrollBarPosition;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取删除时间
|
|
|
|
QDateTime NodeData::deletionDateTime() const
|
|
|
|
QDateTime NodeData::deletionDateTime() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_deletionDateTime;
|
|
|
|
return m_deletionDateTime;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置删除时间
|
|
|
|
void NodeData::setDeletionDateTime(const QDateTime &deletionDateTime)
|
|
|
|
void NodeData::setDeletionDateTime(const QDateTime &deletionDateTime)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_deletionDateTime = deletionDateTime;
|
|
|
|
m_deletionDateTime = deletionDateTime;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取节点类型
|
|
|
|
NodeData::Type NodeData::nodeType() const
|
|
|
|
NodeData::Type NodeData::nodeType() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_nodeType;
|
|
|
|
return m_nodeType;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置节点类型
|
|
|
|
void NodeData::setNodeType(NodeData::Type newNodeType)
|
|
|
|
void NodeData::setNodeType(NodeData::Type newNodeType)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_nodeType = newNodeType;
|
|
|
|
m_nodeType = newNodeType;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取父节点ID
|
|
|
|
int NodeData::parentId() const
|
|
|
|
int NodeData::parentId() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_parentId;
|
|
|
|
return m_parentId;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置父节点ID
|
|
|
|
void NodeData::setParentId(int newParentId)
|
|
|
|
void NodeData::setParentId(int newParentId)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_parentId = newParentId;
|
|
|
|
m_parentId = newParentId;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取相对位置
|
|
|
|
int NodeData::relativePosition() const
|
|
|
|
int NodeData::relativePosition() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_relativePosition;
|
|
|
|
return m_relativePosition;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置相对位置
|
|
|
|
void NodeData::setRelativePosition(int newRelativePosition)
|
|
|
|
void NodeData::setRelativePosition(int newRelativePosition)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_relativePosition = newRelativePosition;
|
|
|
|
m_relativePosition = newRelativePosition;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取绝对路径
|
|
|
|
const QString &NodeData::absolutePath() const
|
|
|
|
const QString &NodeData::absolutePath() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_absolutePath;
|
|
|
|
return m_absolutePath;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置绝对路径
|
|
|
|
void NodeData::setAbsolutePath(const QString &newAbsolutePath)
|
|
|
|
void NodeData::setAbsolutePath(const QString &newAbsolutePath)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_absolutePath = newAbsolutePath;
|
|
|
|
m_absolutePath = newAbsolutePath;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取标签ID集
|
|
|
|
const QSet<int> &NodeData::tagIds() const
|
|
|
|
const QSet<int> &NodeData::tagIds() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_tagIds;
|
|
|
|
return m_tagIds;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置标签ID集
|
|
|
|
void NodeData::setTagIds(const QSet<int> &newTagIds)
|
|
|
|
void NodeData::setTagIds(const QSet<int> &newTagIds)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_tagIds = newTagIds;
|
|
|
|
m_tagIds = newTagIds;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 检查是否为临时节点
|
|
|
|
bool NodeData::isTempNote() const
|
|
|
|
bool NodeData::isTempNote() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_isTempNote;
|
|
|
|
return m_isTempNote;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置临时节点状态
|
|
|
|
void NodeData::setIsTempNote(bool newIsTempNote)
|
|
|
|
void NodeData::setIsTempNote(bool newIsTempNote)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_isTempNote = newIsTempNote;
|
|
|
|
m_isTempNote = newIsTempNote;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取父节点名称
|
|
|
|
const QString &NodeData::parentName() const
|
|
|
|
const QString &NodeData::parentName() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_parentName;
|
|
|
|
return m_parentName;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置父节点名称
|
|
|
|
void NodeData::setParentName(const QString &newParentName)
|
|
|
|
void NodeData::setParentName(const QString &newParentName)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_parentName = newParentName;
|
|
|
|
m_parentName = newParentName;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 检查是否为固定节点
|
|
|
|
bool NodeData::isPinnedNote() const
|
|
|
|
bool NodeData::isPinnedNote() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_isPinnedNote;
|
|
|
|
return m_isPinnedNote;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置固定节点状态
|
|
|
|
void NodeData::setIsPinnedNote(bool newIsPinnedNote)
|
|
|
|
void NodeData::setIsPinnedNote(bool newIsPinnedNote)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_isPinnedNote = newIsPinnedNote;
|
|
|
|
m_isPinnedNote = newIsPinnedNote;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取标签列表滚动条位置
|
|
|
|
int NodeData::tagListScrollBarPos() const
|
|
|
|
int NodeData::tagListScrollBarPos() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_tagListScrollBarPos;
|
|
|
|
return m_tagListScrollBarPos;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置标签列表滚动条位置
|
|
|
|
void NodeData::setTagListScrollBarPos(int newTagListScrollBarPos)
|
|
|
|
void NodeData::setTagListScrollBarPos(int newTagListScrollBarPos)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_tagListScrollBarPos = newTagListScrollBarPos;
|
|
|
|
m_tagListScrollBarPos = newTagListScrollBarPos;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取相对位置AN
|
|
|
|
int NodeData::relativePosAN() const
|
|
|
|
int NodeData::relativePosAN() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_relativePosAN;
|
|
|
|
return m_relativePosAN;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置相对位置AN
|
|
|
|
void NodeData::setRelativePosAN(int newRelativePosAN)
|
|
|
|
void NodeData::setRelativePosAN(int newRelativePosAN)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_relativePosAN = newRelativePosAN;
|
|
|
|
m_relativePosAN = newRelativePosAN;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取子节点计数
|
|
|
|
int NodeData::childNotesCount() const
|
|
|
|
int NodeData::childNotesCount() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_childNotesCount;
|
|
|
|
return m_childNotesCount;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置子节点计数
|
|
|
|
void NodeData::setChildNotesCount(int newChildCount)
|
|
|
|
void NodeData::setChildNotesCount(int newChildCount)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_childNotesCount = newChildCount;
|
|
|
|
m_childNotesCount = newChildCount;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取创建时间
|
|
|
|
QDateTime NodeData::creationDateTime() const
|
|
|
|
QDateTime NodeData::creationDateTime() const
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return m_creationDateTime;
|
|
|
|
return m_creationDateTime;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置创建时间
|
|
|
|
void NodeData::setCreationDateTime(const QDateTime &creationDateTime)
|
|
|
|
void NodeData::setCreationDateTime(const QDateTime &creationDateTime)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_creationDateTime = creationDateTime;
|
|
|
|
m_creationDateTime = creationDateTime;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 重载流提取运算符,读取 NodeData 对象
|
|
|
|
QDataStream &operator>>(QDataStream &stream, NodeData &nodeData)
|
|
|
|
QDataStream &operator>>(QDataStream &stream, NodeData &nodeData)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int id;
|
|
|
|
int id;
|
|
|
@ -230,6 +272,7 @@ QDataStream &operator>>(QDataStream &stream, NodeData &nodeData)
|
|
|
|
return stream;
|
|
|
|
return stream;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 重载流提取运算符,读取 NodeData 指针对象
|
|
|
|
QDataStream &operator>>(QDataStream &stream, NodeData *&nodeData)
|
|
|
|
QDataStream &operator>>(QDataStream &stream, NodeData *&nodeData)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
nodeData = new NodeData();
|
|
|
|
nodeData = new NodeData();
|
|
|
@ -245,4 +288,4 @@ QDataStream &operator>>(QDataStream &stream, NodeData *&nodeData)
|
|
|
|
nodeData->setCreationDateTime(creationDateTime);
|
|
|
|
nodeData->setCreationDateTime(creationDateTime);
|
|
|
|
nodeData->setContent(content);
|
|
|
|
nodeData->setContent(content);
|
|
|
|
return stream;
|
|
|
|
return stream;
|
|
|
|
}
|
|
|
|
}
|