2 ******************************************************************************
4 * @file logginggadgetwidget.h
5 * @author The LibrePilot Project, http://www.librepilot.org Copyright (C) 2018.
6 * The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
7 * @addtogroup GCSPlugins GCS Plugins
9 * @addtogroup LoggingGadgetPlugin Logging Gadget Plugin
11 * @brief A gadget to control playback of a GCS log.
12 *****************************************************************************/
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 3 of the License, or
17 * (at your option) any later version.
19 * This program is distributed in the hope that it will be useful, but
20 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
24 * You should have received a copy of the GNU General Public License along
25 * with this program; if not, write to the Free Software Foundation, Inc.,
26 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29 #ifndef LoggingGADGETWIDGET_H_
30 #define LoggingGADGETWIDGET_H_
32 #include "loggingplugin.h"
34 #include "extensionsystem/pluginmanager.h"
35 #include "scope/scopeplugin.h"
36 #include "scope/scopegadgetfactory.h"
43 class LoggingGadgetWidget
: public QWidget
{
47 LoggingGadgetWidget(QWidget
*parent
= 0);
48 ~LoggingGadgetWidget();
49 void setPlugin(LoggingPlugin
*p
);
52 void stateChanged(LoggingPlugin::State state
);
53 void setBeginAndEndTimes(quint32 startTimeStamp
, quint32 endTimeStamp
);
54 void setPlaybackPosition(quint32 positionTimeStamp
);
55 void playButtonAction();
56 void pauseButtonAction();
57 void stopButtonAction();
59 void disableWidgets();
60 void sliderMoved(int);
64 void resumeReplay(quint32 positionTimeStamp
);
66 void pauseReplayAndResetPosition();
69 Ui_Logging
*m_logging
;
70 LoggingPlugin
*loggingPlugin
;
71 ScopeGadgetFactory
*scpPlugin
;
72 QTimer sliderActionDelay
;
74 void updatePositionLabel(quint32 positionTimeStamp
);
77 #endif /* LoggingGADGETWIDGET_H_ */