Also play model name on model changes (#5416)
[opentx.git] / companion / src / shared / genericpanel.h
blob36402917ba988971a0c99cba49e6770175bc5892
1 /*
2 * Copyright (C) OpenTX
4 * Based on code named
5 * th9x - http://code.google.com/p/th9x
6 * er9x - http://code.google.com/p/er9x
7 * gruvin9x - http://code.google.com/p/gruvin9x
9 * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
21 #ifndef _GENERICPANEL_H_
22 #define _GENERICPANEL_H_
24 #include <QWidget>
26 class ModelData;
27 class GeneralSettings;
28 class Firmware;
29 class QGridLayout;
30 class QString;
32 class GenericPanel : public QWidget
34 Q_OBJECT
36 friend class AutoComboBox;
37 friend class AutoDoubleSpinBox;
38 friend class AutoCheckBox;
39 friend class AutoHexSpinBox;
40 friend class AutoLineEdit;
41 friend class GVarGroup;
43 public:
44 GenericPanel(QWidget *parent, ModelData * model, GeneralSettings & generalSettings, Firmware * firmware);
45 virtual ~GenericPanel();
47 signals:
48 void modified();
50 public slots:
51 virtual void update();
53 protected:
54 ModelData * model;
55 GeneralSettings & generalSettings;
56 Firmware * firmware;
57 bool lock;
58 void addLabel(QGridLayout * gridLayout, const QString &text, int col, bool mimimize=false);
59 void addEmptyLabel(QGridLayout * gridLayout, int col);
60 void addHSpring(QGridLayout *, int col, int row);
61 void addVSpring(QGridLayout *, int col, int row);
62 void addDoubleSpring(QGridLayout *, int col, int row);
63 virtual bool eventFilter(QObject *obj, QEvent *event);
64 void disableMouseScrolling();
67 #endif // _GENERICPANEL_H_