d9da559a1aee7dfceebbd100e76ec16cc5d3d560
[pierogi] / forms / pirmacroform.h
1 #ifndef PIRMACROFORM_H
2 #define PIRMACROFORM_H
3
4 #include <QWidget>
5 #include "dialogs/pirselectmacrodialog.h"
6 #include "dialogs/pireditmacrodialog.h"
7 #include "dialogs/pirdeletemacrodialog.h"
8 #include "dialogs/pircreatecommanddialog.h"
9 #include "dialogs/pireditcommanddialog.h"
10
11 class PIRMacro;
12 class QComboBox;
13 class QListWidgetItem;
14 class MainWindow;
15
16 enum UserRequest {
17   No_Request,
18   DisplayMacro_Request,
19   NewMacro_Request,
20   EditMacro_Request,
21   DeleteMacro_Request
22 };
23
24 namespace Ui {
25 class PIRMacroForm;
26 }
27
28 class PIRMacroForm : public QWidget
29 {
30   Q_OBJECT
31   
32 public:
33 //  explicit PIRMacroForm(QWidget *parent = 0);
34
35   PIRMacroForm(
36     MainWindow *mw);
37
38   ~PIRMacroForm();
39
40   QComboBox *getKeysetComboBox();
41   
42 private slots:
43   void on_chooseMacroButton_clicked();
44 //  void on_newMacroButton_clicked();
45   void on_runButton_clicked();
46   void on_addButton_clicked();
47 //  void on_macroListWidget_itemClicked(QListWidgetItem *item);
48   void on_macroListWidget_itemClicked();
49
50   void displayMacro(
51     QTreeWidgetItem *item);
52
53   void createNewMacro();
54
55   void editMacro(
56     QTreeWidgetItem *item);
57
58   void deleteMacro(
59     QTreeWidgetItem *item);
60
61   void deleteCurrentCommand();
62   void moveCurrentCommandUp();
63   void moveCurrentCommandDown();
64
65 private:
66   Ui::PIRMacroForm *ui;
67
68   PIRSelectMacroDialog smd;
69   PIREditMacroDialog emd;
70   PIRDeleteMacroDialog dmd;
71   PIRCreateCommandDialog ccd;
72   PIREditCommandDialog ecd;
73
74   PIRMacro *currentMacro;
75   PIRMacro *userRequestMacro;
76
77   UserRequest request;
78
79   MainWindow *mainWindow;
80 };
81
82 #endif // PIRMACROFORM_H