Fix X7 R9M power line not enabled (#5973)
[opentx.git] / companion / src / modeledit / channels.h
bloba13fa84a6b118d1290d2c6d10b85336c12c28360
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 _CHANNELS_H_
22 #define _CHANNELS_H_
24 #include "helpers.h"
25 #include "modeledit.h"
27 #include <QtCore>
29 class GVarGroup;
31 class LimitsGroup
33 Q_DECLARE_TR_FUNCTIONS(LimitsGroup)
35 public:
36 LimitsGroup(Firmware * firmware, TableLayout * tableLayout, int row, int col, int & value, const ModelData & model, int min, int max, int deflt, ModelPanel * panel=NULL);
37 ~LimitsGroup();
39 void setValue(int val);
40 void updateMinMax(int max);
42 protected:
43 Firmware *firmware;
44 QDoubleSpinBox *spinbox;
45 GVarGroup *gvarGroup;
46 int &value;
47 double displayStep;
50 class Channels : public ModelPanel
52 Q_OBJECT
54 public:
55 Channels(QWidget * parent, ModelData & model, GeneralSettings & generalSettings, Firmware * firmware);
56 ~Channels();
58 public slots:
59 void refreshExtendedLimits();
61 private slots:
62 void symlimitsEdited();
63 void nameEdited();
64 void invEdited();
65 void curveEdited();
66 void ppmcenterEdited();
67 void update();
68 void updateLine(int index);
69 void chnDelete();
70 void chnCopy();
71 void chnPaste();
72 void chnCut();
73 void chn_customContextMenuRequested(QPoint pos);
75 private:
76 QLineEdit *name[CPN_MAX_CHNOUT];
77 LimitsGroup *chnOffset[CPN_MAX_CHNOUT];
78 LimitsGroup *chnMin[CPN_MAX_CHNOUT];
79 LimitsGroup *chnMax[CPN_MAX_CHNOUT];
80 QComboBox *invCB[CPN_MAX_CHNOUT];
81 QComboBox *curveCB[CPN_MAX_CHNOUT];
82 QSpinBox *centerSB[CPN_MAX_CHNOUT];
83 QCheckBox *symlimitsChk[CPN_MAX_CHNOUT];
84 int selectedChannel;
87 #endif // _CHANNELS_H_