Newer
Older
/*===================================================================
QGroundControl Open Source Ground Control Station
(c) 2009, 2010 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
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 <http://www.gnu.org/licenses/>.
======================================================================*/
/**
* @file
* @brief Displays one waypoint
*
* @author Lorenz Meier <mavteam@student.ethz.ch>
* @author Benjamin Knecht <mavteam@student.ethz.ch>
* @author Petri Tanskanen <mavteam@student.ethz.ch>
* @author Alex Trofimov <talex@student.ethz.ch>
pixhawk
committed
#ifndef WAYPOINTEDITABLEVIEW_H
#define WAYPOINTEDITABLEVIEW_H
#include <QWidget>
pixhawk
committed
enum QGC_WAYPOINTEDITABLEVIEW_MODE {
pixhawk
committed
QGC_WAYPOINTEDITABLEVIEW_MODE_DEFAULT,
pixhawk
committed
QGC_WAYPOINTEDITABLEVIEW_MODE_DIRECT_EDITING
pixhawk
committed
class WaypointEditableView;
pixhawk
committed
class QGCMissionNavWaypoint;
class QGCMissionNavLoiterUnlim;
class QGCMissionNavLoiterTurns;
class QGCMissionNavLoiterTime;
class QGCMissionNavReturnToLaunch;
class QGCMissionNavLand;
class QGCMissionNavTakeoff;
class QGCMissionDoJump;
class QGCMissionDoStartSearch;
class QGCMissionDoFinishSearch;
class QGCMissionConditionDelay;
pixhawk
committed
class WaypointEditableView : public QWidget
pixhawk
committed
Q_DISABLE_COPY(WaypointEditableView)
pixhawk
committed
explicit WaypointEditableView(Waypoint* wp, QWidget* parent);
virtual ~WaypointEditableView();
public slots:
void moveUp();
void moveDown();
void remove();
/** @brief Waypoint matching this widget has been deleted */
void deleted(QObject* waypoint);
void changedAutoContinue(int);
void updateActionView(int action);
void initializeActionView(int action);
pixhawk
committed
void updateValues(void);
pixhawk
committed
void changedAction(int state); //change commandID, including the view
void changedCommand(int mav_cmd_id); //only update WP->command, but do not change the view. Should only be used for "other" waypoint-type.
void changedParam1(double value);
void changedParam2(double value);
void changedParam3(double value);
void changedParam4(double value);
void changedParam5(double value);
void changedParam6(double value);
void changedParam7(double value);
virtual void paintEvent(QPaintEvent *);
QGC_WAYPOINTEDITABLEVIEW_MODE viewMode;
// Widgets for every mission element
pixhawk
committed
QGCMissionNavWaypoint* MissionNavWaypointWidget;
QGCMissionNavLoiterUnlim* MissionNavLoiterUnlimWidget;
QGCMissionNavLoiterTurns* MissionNavLoiterTurnsWidget;
QGCMissionNavLoiterTime* MissionNavLoiterTimeWidget;
QGCMissionNavReturnToLaunch* MissionNavReturnToLaunchWidget;
QGCMissionNavLand* MissionNavLandWidget;
QGCMissionNavTakeoff* MissionNavTakeoffWidget;
QGCMissionNavSweep* MissionNavSweepWidget;
QGCMissionDoJump* MissionDoJumpWidget;
QGCMissionDoStartSearch* MissionDoStartSearchWidget;
QGCMissionDoFinishSearch* MissionDoFinishSearchWidget;
QGCMissionConditionDelay* MissionConditionDelayWidget;
pixhawk
committed
Ui::WaypointEditableView *m_ui;
signals:
void moveUpWaypoint(Waypoint*);
void moveDownWaypoint(Waypoint*);
void removeWaypoint(Waypoint*);
void changeCurrentWaypoint(quint16);
pixhawk
committed
void commandBroadcast(int mav_cmd_id);
void frameBroadcast(MAV_FRAME frame);
void param1Broadcast(double value);
void param2Broadcast(double value);
void param3Broadcast(double value);
void param4Broadcast(double value);
void param5Broadcast(double value);
void param6Broadcast(double value);
void param7Broadcast(double value);
pixhawk
committed
#endif // WAYPOINTEDITABLEVIEW_H