1 #ifndef LC_ACTIONGROUPMANAGER_H
2 #define LC_ACTIONGROUPMANAGER_H
3 
4 #include <QObject>
5 #include <QList>
6 #include <QMap>
7 
8 class QActionGroup;
9 class QAction;
10 
11 class LC_ActionGroupManager : public QObject
12 {
13     Q_OBJECT
14 
15 public:
16     explicit LC_ActionGroupManager(QObject* parent);
17 
18     QActionGroup* block;
19     QActionGroup* circle;
20     QActionGroup* curve;
21     QActionGroup* edit;
22     QActionGroup* ellipse;
23     QActionGroup* file;
24     QActionGroup* dimension;
25     QActionGroup* info;
26     QActionGroup* layer;
27     QActionGroup* line;
28     QActionGroup* modify;
29     QActionGroup* options;
30     QActionGroup* other;
31     QActionGroup* polyline;
32     QActionGroup* restriction;
33     QActionGroup* select;
34     QActionGroup* snap;
35     QActionGroup* snap_extras;
36     QActionGroup* view;
37     QActionGroup* widgets;
38 
39     QList<QActionGroup*> toolGroups();
40     QMap<QString, QActionGroup*> allGroups();
41     void sortGroupsByName(QList<QActionGroup*>& list);
42 
43 public slots:
44     void toggleExclusiveSnapMode(bool state);
45     void toggleTools(bool state);
46 
47 private:
48     QList<bool> snap_memory;
49 
50 };
51 
52 #endif // LC_ACTIONGROUPMANAGER_H
53