diff --git a/src/QGCComboBox.cc b/src/QGCComboBox.cc new file mode 100644 index 0000000000000000000000000000000000000000..545b67f597f1de5068cbca23a99513ee106db8a5 --- /dev/null +++ b/src/QGCComboBox.cc @@ -0,0 +1,48 @@ +/*===================================================================== + + QGroundControl Open Source Ground Control Station + + (c) 2009 - 2014 QGROUNDCONTROL PROJECT + + This file is part of the QGROUNDCONTROL project + + QGROUNDCONTROL 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. + + QGROUNDCONTROL 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 QGROUNDCONTROL. If not, see . + + ======================================================================*/ + +/// @file +/// @brief Subclass of QComboBox. Mainly used for unit test so you can simulate a user selection +/// with correct signalling. +/// +/// @author Don Gagne + +#include "QGCComboBox.h" + +QGCComboBox::QGCComboBox(QWidget* parent) : + QComboBox(parent) +{ + +} + +void QGCComboBox::simulateUserSetCurrentIndex(int index) +{ + Q_ASSERT(index >=0 && index < count()); + + // This will signal currentIndexChanged + setCurrentIndex(index); + + // We have to manually signal activated + emit activated(index); + emit activated(itemText(index)); +} diff --git a/src/QGCComboBox.h b/src/QGCComboBox.h new file mode 100644 index 0000000000000000000000000000000000000000..95a65f190a78f60019aeabb52f251d80e2a8b2eb --- /dev/null +++ b/src/QGCComboBox.h @@ -0,0 +1,46 @@ +/*===================================================================== + + QGroundControl Open Source Ground Control Station + + (c) 2009 - 2014 QGROUNDCONTROL PROJECT + + This file is part of the QGROUNDCONTROL project + + QGROUNDCONTROL 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. + + QGROUNDCONTROL 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 QGROUNDCONTROL. If not, see . + + ======================================================================*/ + +#ifndef QGCComboBox_H +#define QGCComboBox_H + +#include + +/// @file +/// @brief Subclass of QComboBox. Mainly used for unit test so you can simulate a user selection +/// with correct signalling. +/// +/// @author Don Gagne + +class QGCComboBox : public QComboBox { + Q_OBJECT + +public: + QGCComboBox(QWidget* parent = NULL); + + /// @brief Sets the current index on the combo. Signals activated, as well as currentIndexChanged. + void simulateUserSetCurrentIndex(int index); +}; + + +#endif