1 #include <QDebug>
2 #include <QString>
3 
4 #include "marks.h"
5 
Mark(const Mark & other)6 Mark::Mark(const Mark& other)
7 	: label(other.label),
8 	  OwnPage(other.OwnPage),
9 	  m_type(other.m_type),
10 	  m_data(other.m_data)
11 {
12 
13 }
14 
setValues(const QString & l,int p,MarkType t,const MarkData & d)15 void Mark::setValues(const QString& l, int p, MarkType t, const MarkData& d)
16 {
17 	label = l;
18 	OwnPage = p;
19 	m_type = t;
20 	m_data = d;
21 }
22 
getMark(QString & l,MarkType & t) const23 void Mark::getMark(QString& l, MarkType& t) const
24 {
25 	l = m_data.destmarkName;
26 	t = m_data.destmarkType;
27 }
28 
setMark(Mark * mP)29 void Mark::setMark(Mark* mP)
30 {
31 	if (mP == nullptr)
32 	{
33 		m_data.destmarkName.clear();
34 		m_data.destmarkType = MARKNoType;
35 	}
36 	else
37 	{
38 		m_data.destmarkName = mP->label;
39 		m_data.destmarkType = mP->getType();
40 	}
41 }
42 
setMark(const QString & l,MarkType t)43 void Mark::setMark(const QString& l, MarkType t)
44 {
45 	m_data.destmarkName = l;
46 	m_data.destmarkType = t;
47 }
48 
getString() const49 QString Mark::getString() const
50 {
51 	return m_data.strtxt;
52 }
53 
setString(const QString & str)54 void Mark::setString(const QString& str)
55 {
56 	m_data.strtxt = str;
57 }
58 
clearString()59 void Mark::clearString()
60 {
61 	m_data.strtxt.clear();
62 }
63 
setNotePtr(TextNote * note)64 void Mark::setNotePtr(TextNote* note)
65 {
66 	m_data.notePtr = note;
67 }
68 
hasItemPtr() const69 bool Mark::hasItemPtr() const
70 {
71 	return m_data.itemPtr != nullptr;
72 }
73 
hasString() const74 bool Mark::hasString() const
75 {
76 	return !m_data.strtxt.isEmpty();
77 }
78 
hasMark() const79 bool Mark::hasMark() const
80 {
81 	return !m_data.destmarkName.isEmpty();
82 }
83 
isUnique() const84 bool Mark::isUnique() const
85 {
86 	return ((m_type != MARKVariableTextType) && (m_type != MARKIndexType) && (m_type != MARKBullNumType));
87 }
88 
isNoteType() const89 bool Mark::isNoteType() const
90 {
91 	return ((m_type == MARKNoteMasterType) || (m_type == MARKNoteFrameType));
92 }
93 
isType(const MarkType t) const94 bool Mark::isType(const MarkType t) const
95 {
96 	return (m_type == t);
97 }
98 
BulNumMark()99 BulNumMark::BulNumMark()
100 {
101 	label = "BullNumMark";
102 	m_type = MARKBullNumType;
103 }
104