Browse Source

Fixed some display bugs in editable waypoints

QGC4.4
pixhawk 14 years ago
parent
commit
e89983da70
  1. 19
      src/ui/WaypointEditableView.cc

19
src/ui/WaypointEditableView.cc

@ -234,6 +234,7 @@ void WaypointEditableView::updateActionView(int action) @@ -234,6 +234,7 @@ void WaypointEditableView::updateActionView(int action)
*/
void WaypointEditableView::changedAction(int index)
{
MAV_FRAME cur_frame = (MAV_FRAME) m_ui->comboBox_frame->itemData(m_ui->comboBox_frame->currentIndex()).toUInt();
// set waypoint action
int actionIndex = m_ui->comboBox_action->itemData(index).toUInt();
if (actionIndex < MAV_CMD_ENUM_END && actionIndex >= 0) {
@ -255,7 +256,7 @@ void WaypointEditableView::changedAction(int index) @@ -255,7 +256,7 @@ void WaypointEditableView::changedAction(int index)
case MAV_CMD_NAV_LOITER_TIME:
changeViewMode(QGC_WAYPOINTEDITABLEVIEW_MODE_NAV);
// Update frame view
updateFrameView(m_ui->comboBox_frame->currentIndex());
updateFrameView(cur_frame);
// Update view
updateActionView(actionIndex);
break;
@ -310,9 +311,13 @@ void WaypointEditableView::changeViewMode(QGC_WAYPOINTEDITABLEVIEW_MODE mode) @@ -310,9 +311,13 @@ void WaypointEditableView::changeViewMode(QGC_WAYPOINTEDITABLEVIEW_MODE mode)
void WaypointEditableView::updateFrameView(int frame)
{
std::cerr << "update frame view: "<< frame << std::endl;
//int custom_index = m_ui->comboBox_action->findData(MAV_CMD_ENUM_END);
switch(frame) {
case MAV_FRAME_GLOBAL:
case MAV_FRAME_GLOBAL_RELATIVE_ALT:
if (viewMode != QGC_WAYPOINTEDITABLEVIEW_MODE_DIRECT_EDITING)
{
m_ui->posNSpinBox->hide();
m_ui->posESpinBox->hide();
m_ui->posDSpinBox->hide();
@ -322,8 +327,15 @@ void WaypointEditableView::updateFrameView(int frame) @@ -322,8 +327,15 @@ void WaypointEditableView::updateFrameView(int frame)
// Coordinate frame
m_ui->comboBox_frame->show();
m_ui->customActionWidget->hide();
}
else // do not hide customActionWidget if Command is set to "Other"
{
m_ui->customActionWidget->show();
}
break;
case MAV_FRAME_LOCAL_NED:
if (viewMode != QGC_WAYPOINTEDITABLEVIEW_MODE_DIRECT_EDITING)
{
m_ui->lonSpinBox->hide();
m_ui->latSpinBox->hide();
m_ui->altSpinBox->hide();
@ -333,6 +345,11 @@ void WaypointEditableView::updateFrameView(int frame) @@ -333,6 +345,11 @@ void WaypointEditableView::updateFrameView(int frame)
// Coordinate frame
m_ui->comboBox_frame->show();
m_ui->customActionWidget->hide();
}
else // do not hide customActionWidget if Command is set to "Other"
{
m_ui->customActionWidget->show();
}
break;
default:
std::cerr << "unknown frame" << std::endl;

Loading…
Cancel
Save