forked from vranki/ExtPlane-Panel
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmenubutton.h
More file actions
65 lines (58 loc) · 1.64 KB
/
menubutton.h
File metadata and controls
65 lines (58 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef MENUBUTTON_H
#define MENUBUTTON_H
#include <QGraphicsItem>
#include <QPainter>
#include <QGraphicsSceneMouseEvent>
#include <QMessageBox>
#include <QVBoxLayout>
#include <QPushButton>
#include <QInputDialog>
#include <QSettings>
#include <QDebug>
#include <QCoreApplication>
#include <QFileDialog>
#include "panelitems/panelitem.h"
#include "panelitemfactory.h"
#include "dialogs/settingsdialog.h"
#include "dialogs/edititemdialog.h"
#include "utils.h"
class MenuButton : public QObject, public QGraphicsItem {
Q_OBJECT
Q_INTERFACES(QGraphicsItem)
public:
explicit MenuButton(QWidget *parent, QList<PanelItem*> &gaugelist, PanelItemFactory *gf);
QRectF boundingRect() const;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
protected:
virtual void mousePressEvent ( QGraphicsSceneMouseEvent * event );
signals:
void itemAdded(PanelItem *g);
void panelRotationChanged(int r);
void fullscreenChanged(bool fs);
void setServerAddress(QString host);
void editModeChanged(bool em);
public slots:
void addItem();
void deleteItems();
void closeDialog();
void savePanel();
void loadPanel();
void exportPanel(void);
void importPanel(void);
void showSettings();
void quit();
void itemProperties();
void setEditMode(bool em);
private:
QList<PanelItem*> selectedGauges();
int side;
QWidget *parentWidget;
QList<PanelItem*> &panelItems;
QDialog *msg;
PanelItemFactory *itemFactory;
QSettings settings;
SettingsDialog *settingsDialog;
EditItemDialog *editItemDialog;
bool editMode;
};
#endif // MENUBUTTON_H