/* Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) Forked to: Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) Now forked to: Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) This file is part of ENNOID-BMS Tool. ENNOID-BMS Tool is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. ENNOID-BMS Tool is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef PARAMETEREDITOR_H #define PARAMETEREDITOR_H #include #include #include #include "configparams.h" namespace Ui { class ParameterEditor; } class ParameterEditor : public QMainWindow { Q_OBJECT public: explicit ParameterEditor(QWidget *parent = 0); ~ParameterEditor(); void setParams(const ConfigParams *params); private slots: void timerSlot(); void on_paramRemoveButton_clicked(); void on_paramDownButton_clicked(); void on_paramUpButton_clicked(); void on_paramOpenButton_clicked(); void on_paramSaveButton_clicked(); void on_paramResetButton_clicked(); void on_serRemoveButton_clicked(); void on_serDownButton_clicked(); void on_serUpButton_clicked(); void on_serAddButton_clicked(); void on_paramList_doubleClicked(const QModelIndex &index); void on_enumAddButton_clicked(); void on_enumRemoveButton_clicked(); void on_enumMoveUpButton_clicked(); void on_enumMoveDownButton_clicked(); void on_actionLoad_XML_triggered(); void on_actionSave_XML_as_triggered(); void on_actionDeleteAll_triggered(); void on_doubleTxTypeBox_currentIndexChanged(int index); void on_actionCalculatePacketSize_triggered(); private: Ui::ParameterEditor *ui; ConfigParams mParams; QTimer *mTimer; QLabel *mStatusLabel; int mStatusInfoTime; void updateUi(); void setEditorValues(QString name, ConfigParam p); QString getEditorValues(ConfigParam *p); void addEnum(QString name); void showStatusInfo(QString info, bool isGood); }; #endif // PARAMETEREDITOR_H