tahoma2d/toonz/sources/toonzlib/txshnoteset.cpp
Shinya Kitaoka 3bfa549e8b remove "using"
- using std::string;
- using std::wstring;
- using std::ostream;
- using std::istream;
- using std::iostream;
- using std::ostrstream;
- using std::istrstream;
- using std::fstream;
2016-04-21 16:23:15 +09:00

195 lines
4.6 KiB
C++

#include "toonz/txshnoteset.h"
#include "tstream.h"
#include "texception.h"
#include <QString>
//=============================================================================
// TXshNoteSet
TXshNoteSet::TXshNoteSet()
{
}
//-----------------------------------------------------------------------------
int TXshNoteSet::addNote(Note note)
{
m_notes.push_back(note);
return getCount() - 1;
}
//-----------------------------------------------------------------------------
void TXshNoteSet::removeNote(int index)
{
if (m_notes.empty() || index >= (int)m_notes.size())
return;
m_notes.removeAt(index);
}
//-----------------------------------------------------------------------------
int TXshNoteSet::getCount() const
{
if (m_notes.empty())
return 0;
return m_notes.size();
}
//-----------------------------------------------------------------------------
int TXshNoteSet::getNoteColorIndex(int noteIndex) const
{
assert(noteIndex < m_notes.size());
if (noteIndex >= m_notes.size())
return 0;
return m_notes[noteIndex].m_colorIndex;
}
//-----------------------------------------------------------------------------
void TXshNoteSet::setNoteColorIndex(int noteIndex, int colorIndex)
{
assert(noteIndex < m_notes.size());
if (noteIndex >= m_notes.size())
return;
m_notes[noteIndex].m_colorIndex = colorIndex;
}
//-----------------------------------------------------------------------------
QString TXshNoteSet::getNoteHtmlText(int noteIndex) const
{
assert(noteIndex < m_notes.size());
if (noteIndex >= m_notes.size())
return QString();
return m_notes[noteIndex].m_text;
}
//-----------------------------------------------------------------------------
void TXshNoteSet::setNoteHtmlText(int noteIndex, QString text)
{
assert(noteIndex < m_notes.size());
if (noteIndex >= m_notes.size())
return;
m_notes[noteIndex].m_text = text;
}
//-----------------------------------------------------------------------------
int TXshNoteSet::getNoteRow(int noteIndex) const
{
assert(noteIndex < m_notes.size());
if (noteIndex >= m_notes.size())
return 0;
return m_notes[noteIndex].m_row;
}
//-----------------------------------------------------------------------------
void TXshNoteSet::setNoteRow(int noteIndex, int row)
{
assert(noteIndex < m_notes.size());
if (noteIndex >= m_notes.size())
return;
m_notes[noteIndex].m_row = row;
}
//-----------------------------------------------------------------------------
int TXshNoteSet::getNoteCol(int noteIndex) const
{
assert(noteIndex < m_notes.size());
if (noteIndex >= m_notes.size())
return 0;
return m_notes[noteIndex].m_col;
}
//-----------------------------------------------------------------------------
void TXshNoteSet::setNoteCol(int noteIndex, int col)
{
assert(noteIndex < m_notes.size());
if (noteIndex >= m_notes.size())
return;
m_notes[noteIndex].m_col = col;
}
//-----------------------------------------------------------------------------
TPointD TXshNoteSet::getNotePos(int noteIndex) const
{
assert(noteIndex < m_notes.size());
if (noteIndex >= m_notes.size())
return TPointD(5, 5);
return m_notes[noteIndex].m_pos;
}
//-----------------------------------------------------------------------------
void TXshNoteSet::setNotePos(int noteIndex, TPointD pos)
{
assert(noteIndex < m_notes.size());
if (noteIndex >= m_notes.size())
return;
m_notes[noteIndex].m_pos = pos;
}
//-----------------------------------------------------------------------------
void TXshNoteSet::loadData(TIStream &is)
{
while (!is.eos()) {
std::string tagName;
if (is.matchTag(tagName)) {
if (tagName == "notes") {
while (!is.eos()) {
std::string tagName;
if (is.matchTag(tagName)) {
if (tagName == "note") {
Note note;
is >> note.m_colorIndex;
std::wstring text;
is >> text;
note.m_text = QString::fromStdWString(text);
is >> note.m_row;
is >> note.m_col;
is >> note.m_pos.x;
is >> note.m_pos.y;
m_notes.push_back(note);
}
} else
throw TException("expected <note>");
is.closeChild();
}
} else
throw TException("expected <defaultColor> or <notes>");
is.closeChild();
} else
throw TException("expected tag");
}
}
//-----------------------------------------------------------------------------
void TXshNoteSet::saveData(TOStream &os)
{
int i;
os.openChild("notes");
for (i = 0; i < getCount(); i++) {
os.openChild("note");
Note note = m_notes.at(i);
os << note.m_colorIndex;
os << note.m_text.toStdWString();
os << note.m_row;
os << note.m_col;
os << note.m_pos.x;
os << note.m_pos.y;
os.closeChild();
}
os.closeChild();
}