1 #pragma once
2 
3 #ifndef TCOLUMNSELECTION_H
4 #define TCOLUMNSELECTION_H
5 
6 #include "toonzqt/selection.h"
7 #include "tgeometry.h"
8 #include <set>
9 
10 class ReframePopup;
11 
12 //=============================================================================
13 // TColumnSelection
14 //-----------------------------------------------------------------------------
15 
16 class TColumnSelection final : public TSelection {
17   std::set<int> m_indices;
18   ReframePopup *m_reframePopup;
19 
20 public:
21   TColumnSelection();
22   ~TColumnSelection();
23 
24   bool isEmpty() const override;
25   void selectColumn(int col, bool on = true);
26   void selectNone() override;
27 
28   bool isColumnSelected(int col) const;
29 
getIndices()30   const std::set<int> &getIndices() const { return m_indices; }
31 
32   void enableCommands() override;
33 
34   void copyColumns();
35   void pasteColumns();
36   void pasteColumnsAbove();
37   void deleteColumns();
38   void cutColumns();
39   void insertColumns();
40   void insertColumnsAbove();
41 
42   void collapse();
43   void explodeChild();
44   void resequence();
45   void cloneChild();
46 
47   void hideColumns();
48 
49   void reframeCells(int count);
reframe1Cells()50   void reframe1Cells() { reframeCells(1); }
reframe2Cells()51   void reframe2Cells() { reframeCells(2); }
reframe3Cells()52   void reframe3Cells() { reframeCells(3); }
reframe4Cells()53   void reframe4Cells() { reframeCells(4); }
54 
55   void reframeWithEmptyInbetweens();
56 };
57 
58 #endif  // TCELLSELECTION_H
59