1 #pragma once
2 
3 #ifndef TXSHSOUNDTEXTCOLUMN_INCLUDED
4 #define TXSHSOUNDTEXTCOLUMN_INCLUDED
5 
6 #include "toonz/txshcolumn.h"
7 #include "toonz/txshcell.h"
8 
9 #include <QList>
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 //=============================================================================
22 //! The TXshSoundTextColumn class provides a sound column in xsheet and allows
23 //! its management through cell concept.
24 /*!Inherits \b TXshCellColumn. */
25 //=============================================================================
26 
27 class DVAPI TXshSoundTextColumn final : public TXshCellColumn {
28   PERSIST_DECLARATION(TXshSoundTextColumn)
29 
30 public:
31   TXshSoundTextColumn();
32   ~TXshSoundTextColumn();
33 
34   TXshColumn::ColumnType getColumnType() const override;
getSoundTextColumn()35   TXshSoundTextColumn *getSoundTextColumn() override { return this; }
36 
37   void createSoundTextLevel(int row, QList<QString> textList);
38 
39   bool canSetCell(const TXshCell &cell) const override;
40 
41   TXshColumn *clone() const override;
42 
43   void loadData(TIStream &is) override;
44   void saveData(TOStream &os) override;
45 };
46 
47 #ifdef _WIN32
48 template class DV_EXPORT_API TSmartPointerT<TXshSoundTextColumn>;
49 #endif
50 typedef TSmartPointerT<TXshSoundTextColumn> TXshSoundTextColumnP;
51 
52 #endif  // TXSHSOUNDTEXTCOLUMN_INCLUDED
53