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