| #pragma once |
| |
| #ifndef IMAGE_GROUPING_INCLUDED |
| #define IMAGE_GROUPING_INCLUDED |
| |
| #include "tcommon.h" |
| #include <QObject> |
| |
| class StrokeSelection; |
| class QMenu; |
| |
| #undef DVAPI |
| #undef DVVAR |
| #ifdef TNZTOOLS_EXPORTS |
| #define DVAPI DV_EXPORT_API |
| #define DVVAR DV_EXPORT_VAR |
| #else |
| #define DVAPI DV_IMPORT_API |
| #define DVVAR DV_IMPORT_VAR |
| #endif |
| |
| class DVAPI TGroupCommand final : public QObject { |
| Q_OBJECT |
| public: |
| enum { |
| NONE = 0, |
| FRONT = 1, |
| FORWARD = 2, |
| BACKWARD = 4, |
| BACK = 8, |
| GROUP = 16, |
| UNGROUP = 32 |
| }; |
| |
| StrokeSelection *m_sel; |
| |
| TGroupCommand() : m_sel(0) {} |
| |
| void setSelection(StrokeSelection *sel) { m_sel = sel; } |
| UCHAR getGroupingOptions(); |
| |
| void addMenuItems(QMenu *menu); |
| |
| void back() { |
| if (!(getGroupingOptions() & BACK)) return; |
| moveGroup(BACK); |
| } |
| void backward() { |
| if (!(getGroupingOptions() & BACKWARD)) return; |
| moveGroup(BACKWARD); |
| } |
| void front() { |
| if (!(getGroupingOptions() & FRONT)) return; |
| moveGroup(FRONT); |
| } |
| void forward() { |
| if (!(getGroupingOptions() & FORWARD)) return; |
| moveGroup(FORWARD); |
| } |
| void group(); |
| void ungroup(); |
| void enterGroup(); |
| void exitGroup(); |
| |
| private: |
| void moveGroup(UCHAR moveType); |
| }; |
| |
| #endif |