| |
| |
| #include "toonz/txshlevelhandle.h" |
| |
| #include "toonz/txshlevel.h" |
| #include "toonz/txshsimplelevel.h" |
| #include "toonz/txsheet.h" |
| #include "toonz/txshcell.h" |
| |
| |
| |
| |
| |
| TXshLevelHandle::TXshLevelHandle() : m_level(0) {} |
| |
| |
| |
| TXshLevelHandle::~TXshLevelHandle() { |
| if (m_level) m_level->release(); |
| } |
| |
| |
| |
| TXshLevel *TXshLevelHandle::getLevel() const { return m_level; } |
| |
| |
| |
| TXshSimpleLevel *TXshLevelHandle::getSimpleLevel() const { |
| if (!m_level) |
| return 0; |
| else |
| return m_level->getSimpleLevel(); |
| } |
| |
| |
| |
| void TXshLevelHandle::setLevel(TXshLevel *level) { |
| if (m_level == level) return; |
| |
| TXshLevel *oldLevel = m_level; |
| m_level = level; |
| if (level) level->addRef(); |
| bool levelExists = oldLevel ? oldLevel->getRefCount() > 1 : false; |
| if (oldLevel) oldLevel->release(); |
| emit xshLevelSwitched(levelExists ? oldLevel : 0); |
| } |
| |
| |
| |