1 #pragma once
2 
3 #include <QObject>
4 #include "tcommon.h"
5 
6 #undef DVAPI
7 #undef DVVAR
8 #ifdef TOONZLIB_EXPORTS
9 #define DVAPI DV_EXPORT_API
10 #define DVVAR DV_EXPORT_VAR
11 #else
12 #define DVAPI DV_IMPORT_API
13 #define DVVAR DV_IMPORT_VAR
14 #endif
15 
16 // forward declaration
17 class TXshLevel;
18 class TXshSimpleLevel;
19 
20 //=============================================================================
21 // TXshLevelHandle
22 //-----------------------------------------------------------------------------
23 
24 class DVAPI TXshLevelHandle final : public QObject {
25   Q_OBJECT
26 
27   TXshLevel *m_level;
28 
29 public:
30   TXshLevelHandle();
31   ~TXshLevelHandle();
32 
33   TXshLevel *getLevel() const;
34   TXshSimpleLevel *getSimpleLevel() const;  // helper function:
35                                             // getLevel()->getSimpleLevel(),
36                                             // controllando che getLevel() !=0
37 
38   void setLevel(TXshLevel *level);
39 
notifyLevelChange()40   void notifyLevelChange() { emit xshLevelChanged(); }
notifyLevelViewChange()41   void notifyLevelViewChange() { emit xshLevelViewChanged(); }
notifyLevelTitleChange()42   void notifyLevelTitleChange() { emit xshLevelTitleChanged(); }
notifyCanvasSizeChange()43   void notifyCanvasSizeChange() { emit xshCanvasSizeChanged(); }
44 
45 signals:
46   void xshLevelSwitched(TXshLevel *oldLevel);
47   void xshLevelChanged();
48   void xshLevelViewChanged();
49   void xshLevelTitleChanged();
50   void xshCanvasSizeChanged();
51 };
52