#include "toonz/txshlevelhandle.h" #include "toonz/txshlevel.h" #include "toonz/txshsimplelevel.h" #include "toonz/txsheet.h" #include "toonz/txshcell.h" //============================================================================= // TXshLevelHandle //----------------------------------------------------------------------------- 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); } //-----------------------------------------------------------------------------