Blob Blame Raw


#pragma once

#include <QObject>
#include "tcommon.h"

#undef DVAPI
#undef DVVAR
#ifdef TOONZLIB_EXPORTS
#define DVAPI DV_EXPORT_API
#define DVVAR DV_EXPORT_VAR
#else
#define DVAPI DV_IMPORT_API
#define DVVAR DV_IMPORT_VAR
#endif

// forward declaration
class TXshLevel;
class TXshSimpleLevel;

//=============================================================================
// TXshLevelHandle
//-----------------------------------------------------------------------------

class DVAPI TXshLevelHandle : public QObject
{
	Q_OBJECT

	TXshLevel *m_level;

public:
	TXshLevelHandle();
	~TXshLevelHandle();

	TXshLevel *getLevel() const;
	TXshSimpleLevel *getSimpleLevel() const; // helper function: getLevel()->getSimpleLevel(), controllando che getLevel() !=0

	void setLevel(TXshLevel *level);

	void notifyLevelChange() { emit xshLevelChanged(); }
	void notifyLevelViewChange() { emit xshLevelViewChanged(); }
	void notifyLevelTitleChange() { emit xshLevelTitleChanged(); }
	void notifyCanvasSizeChange() { emit xshCanvasSizeChanged(); }

signals:
	void xshLevelSwitched(TXshLevel *oldLevel);
	void xshLevelChanged();
	void xshLevelViewChanged();
	void xshLevelTitleChanged();
	void xshCanvasSizeChanged();
};