Added new base class for EmuFront dialogs, connected database class to
[emufront] / src / dialogs / dbobjectdialog.h
1 #ifndef DBOBJECTDIALOG_H
2 #define DBOBJECTDIALOG_H
3
4 #include "emufrontdialog.h"
5 #include "namedialog.h"
6
7 class QPushButton;
8 class QModelIndex;
9 class QDialogButtonBox;
10 class QListView;
11
12 class DbObjectDialog : public EmuFrontDialog
13 {
14     Q_OBJECT
15
16     public:
17         DbObjectDialog(QWidget *parent = 0);
18
19     protected slots:
20         void editButtonClicked();
21         void addButtonClicked();
22         void deleteButtonClicked();
23         //void enableEditButton();
24         //void enableDeleteButton();
25         void listObjectClicked(const QModelIndex &);
26
27     protected:
28         virtual int deleteObject() =0;
29         virtual void addObject() =0;
30         virtual void editObject() =0;
31         NameDialog *nameDialog;
32         
33     private:
34         QDialogButtonBox *buttonBox;
35         QPushButton *editButton;
36         QPushButton *addButton;
37         QPushButton *deleteButton;
38         QListView *objectList;
39
40         void setButtonsEnabled(bool);
41         void connectSignals();
42         void layout();
43         void disableSelection();
44 };
45
46 #endif