WaypointView.h 2.44 KB
Newer Older
pixhawk's avatar
pixhawk committed
1 2
/*=====================================================================

3
QGroundControl Open Source Ground Control Station
pixhawk's avatar
pixhawk committed
4

5
(c) 2009, 2010 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
pixhawk's avatar
pixhawk committed
6

7
This file is part of the QGROUNDCONTROL project
pixhawk's avatar
pixhawk committed
8

9
    QGROUNDCONTROL is free software: you can redistribute it and/or modify
pixhawk's avatar
pixhawk committed
10 11 12 13
    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.

14
    QGROUNDCONTROL is distributed in the hope that it will be useful,
pixhawk's avatar
pixhawk committed
15 16 17 18 19
    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
20
    along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
pixhawk's avatar
pixhawk committed
21 22 23 24 25 26 27 28 29

======================================================================*/

/**
 * @file
 *   @brief Displays one waypoint
 *
 *   @author Lorenz Meier <mavteam@student.ethz.ch>
 *   @author Benjamin Knecht <mavteam@student.ethz.ch>
30
 *   @author Petri Tanskanen <mavteam@student.ethz.ch>
pixhawk's avatar
pixhawk committed
31 32 33 34 35 36 37 38
 *
 */

#ifndef WAYPOINTVIEW_H
#define WAYPOINTVIEW_H

#include <QtGui/QWidget>
#include "Waypoint.h"
39
#include <iostream>
pixhawk's avatar
pixhawk committed
40 41 42 43

namespace Ui {
    class WaypointView;
}
44
class Ui_QGCCustomWaypointAction;
pixhawk's avatar
pixhawk committed
45 46 47 48 49 50 51 52 53

class WaypointView : public QWidget {
    Q_OBJECT
    Q_DISABLE_COPY(WaypointView)
        public:
            explicit WaypointView(Waypoint* wp, QWidget* parent);
    virtual ~WaypointView();

public:
pixhawk's avatar
pixhawk committed
54
    void setCurrent(bool state);
pixhawk's avatar
pixhawk committed
55 56 57 58 59

public slots:
    void moveUp();
    void moveDown();
    void remove();
pixhawk's avatar
pixhawk committed
60
    void changedAutoContinue(int);
61
    void updateFrameView(int frame);
62
    void changedFrame(int state);
63
    void updateActionView(int action);
64
    void changedAction(int state);
pixhawk's avatar
pixhawk committed
65
    void changedCurrent(int);
66
    void updateValues(void);
pixhawk's avatar
pixhawk committed
67 68

    void setYaw(int);   //hidden degree to radian conversion
pixhawk's avatar
pixhawk committed
69 70 71 72

protected:
    virtual void changeEvent(QEvent *e);
    Waypoint* wp;
73 74 75
    // Special widgets extendending the
    // waypoint view to mission capabilities
    Ui_QGCCustomWaypointAction* customCommand;
pixhawk's avatar
pixhawk committed
76 77 78 79 80 81 82 83

private:
    Ui::WaypointView *m_ui;

signals:
    void moveUpWaypoint(Waypoint*);
    void moveDownWaypoint(Waypoint*);
    void removeWaypoint(Waypoint*);
pixhawk's avatar
pixhawk committed
84
    void currentWaypointChanged(quint16);
85
    void changeCurrentWaypoint(quint16);
pixhawk's avatar
pixhawk committed
86
    void setYaw(double);
pixhawk's avatar
pixhawk committed
87 88 89
};

#endif // WAYPOINTVIEW_H