1 #pragma once
2 
3 #ifndef TXSHEETCOLUMNCHANGE_INCLUDED
4 #define TXSHEETCOLUMNCHANGE_INCLUDED
5 
6 // TnzCore includes
7 #include "tcommon.h"
8 // TnzLib includes
9 #include "tstageobjectid.h"
10 
11 #undef DVAPI
12 #undef DVVAR
13 #ifdef TOONZLIB_EXPORTS
14 #define DVAPI DV_EXPORT_API
15 #define DVVAR DV_EXPORT_VAR
16 #else
17 #define DVAPI DV_IMPORT_API
18 #define DVVAR DV_IMPORT_VAR
19 #endif
20 
21 class TFx;
22 class TDoubleParam;
23 //===========================================================
24 
25 //*****************************************************************************************
26 //    TXsheetColumnChange  declaration
27 //*****************************************************************************************
28 
29 class DVAPI TXsheetColumnChange {
30 public:
31   enum OperationType { Insert, Remove, Move } m_type;
32 
33   int m_index1, m_index2;
34 
35 public:
36   TXsheetColumnChange(OperationType type, int index1, int index2 = -1)
m_type(type)37       : m_type(type), m_index1(index1), m_index2(index2) {}
38 };
39 
40 //*****************************************************************************************
41 //    TXsheetColumnChangeObserver  definition
42 //*****************************************************************************************
43 
44 class DVAPI TXsheetColumnChangeObserver {
45 public:
46   virtual void onChange(const TXsheetColumnChange &) = 0;
47   // Call when adding fxs in which expression references may be included.
48   // This can be happen when undoing removing fxs operation.
49   virtual void onFxAdded(const std::vector<TFx *> &) = 0;
50   // Call when adding stage objects in which expression references may be
51   // included. This can be happen when undoing removing objects operation.
52   virtual void onStageObjectAdded(const TStageObjectId) = 0;
53   virtual bool isIgnored(TDoubleParam *)                = 0;
54 };
55 
56 #endif  // TPARAMCHANGE_INCLUDED
57