diff --git a/App/MissionUI/MissionUI.cpp b/App/MissionUI/MissionUI.cpp
index 91e33da..5b59a90 100644
--- a/App/MissionUI/MissionUI.cpp
+++ b/App/MissionUI/MissionUI.cpp
@@ -17,11 +17,6 @@ MissionUI::MissionUI(QWidget *parent) :
this->setStyleSheet(stylesheet);
file.close();
- //this->setFocus();
- //this->setFocusPolicy(Qt::StrongFocus);
-
-
-
ui->pushButton_load->setFixedSize(80,40);
ui->pushButton_save->setFixedSize(80,40);
ui->pushButton_upload->setFixedSize(80,40);
@@ -67,11 +62,11 @@ MissionUI::MissionUI(QWidget *parent) :
table->setHorizontalHeaderLabels(QStringList() <
verticalHeader();
- V_headerView->setHidden(true); //行名隐藏
+ V_headerView->setHidden(true); //行名隐藏
QHeaderView* H_headerView = table->horizontalHeader();
- H_headerView->setDefaultAlignment(Qt::AlignLeft); //表头信息显示居中靠左
- H_headerView->setHighlightSections(false);//高亮选中内容的所在列标题
+ H_headerView->setDefaultAlignment(Qt::AlignLeft); //表头信息显示居中靠左
+ H_headerView->setHighlightSections(false); //不高亮选中内容的所在列标题
H_headerView->setStretchLastSection(true);
@@ -247,6 +242,8 @@ void MissionUI::setCurrent(int group,int idx)
{
widget->selectRow(idx - 1);
}
+
+ //settableGroup(group);//切换会引起变化事件,导致重新刷新
}
void MissionUI::settableGroup(int group)
@@ -342,6 +339,35 @@ void MissionUI::on_pushButton_upload_clicked()
void MissionUI::on_pushButton_download_clicked()
{
+ QTableWidget *widget;
+ //根据tabwidget
+ int tab_idx =ui->tabWidget->currentIndex();
+
+ switch (tab_idx) {
+ case 0:
+ widget = tablelist.value(1);
+ break;
+ case 1:
+ widget = tablelist.value(3);
+ break;
+ case 2:
+ widget = tablelist.value(4);
+ break;
+ case 3:
+ widget = tablelist.value(5);
+ break;
+ case 4:
+ widget = tablelist.value(6);
+ break;
+ default:
+ break;
+ }
+
+ while (widget->rowCount() > 0) {
+ widget->removeRow(widget->currentRow());
+ }
+
+
emit WPDownload();
}
@@ -471,19 +497,11 @@ void MissionUI::on_pushButton_clean_clicked()
default:
break;
}
-/*
- int count = widget->rowCount();
- for (int i = 0;i < count;i++) {
- widget->removeRow(i);
- }
- */
while (widget->rowCount() > 0) {
widget->removeRow(widget->currentRow());
}
-
-
emit WPDeleteAll();
}
@@ -577,6 +595,12 @@ void MissionUI::itemDoubleClicked(QTableWidgetItem *item)
widget->removeCellWidget(row,column);
emit setCommand(str);//直接修改底层,让底层返回数据更新到界面
});
+
+ connect(combox,&QComboBox::editTextChanged,[=]{
+ QString str = combox->currentText();
+ widget->removeCellWidget(row,column);
+ emit setCommand(str);//直接修改底层,让底层返回数据更新到界面
+ });
}
else if(column == 2)
{
diff --git a/App/MissionUI/propertyui.cpp b/App/MissionUI/propertyui.cpp
index 10fa7d5..26ba053 100644
--- a/App/MissionUI/propertyui.cpp
+++ b/App/MissionUI/propertyui.cpp
@@ -2167,9 +2167,22 @@ void propertyui::on_pushButton_Group_clicked()
selector->show();
}
+
+void propertyui::measureState(bool flag)
+{
+ if(flag == true)
+ {
+ ui->pushButton_Ruler->setText("Measuring");
+ }
+ else
+ {
+ ui->pushButton_Ruler->setText("Measure");
+ }
+}
+
void propertyui::on_pushButton_Ruler_clicked()
{
-
+ emit ruler_clicked();
}
void propertyui::on_pushButton_Table_clicked()
diff --git a/App/MissionUI/propertyui.h b/App/MissionUI/propertyui.h
index c02d48c..30091c4 100644
--- a/App/MissionUI/propertyui.h
+++ b/App/MissionUI/propertyui.h
@@ -219,7 +219,7 @@ public slots:
-
+ void measureState(bool flag);
@@ -260,6 +260,9 @@ Q_SIGNALS:
void getAllPoints(int group);
+ void ruler_clicked();
+
+
private slots:
void GroupChanged(int value);
diff --git a/App/MissionUI/propertyui.ui b/App/MissionUI/propertyui.ui
index f304463..0e51c29 100644
--- a/App/MissionUI/propertyui.ui
+++ b/App/MissionUI/propertyui.ui
@@ -662,7 +662,7 @@
- Ruler
+ Measure
diff --git a/App/mainwindow.cpp b/App/mainwindow.cpp
index 88f5074..6b0cd67 100644
--- a/App/mainwindow.cpp
+++ b/App/mainwindow.cpp
@@ -278,8 +278,6 @@ MainWindow::MainWindow(QWidget *parent)
connect(toolsui->index2,SIGNAL(setMultiple(double)),
dlink->mavlinknode->replay,SLOT(setMultiple(double)),Qt::DirectConnection);
-
-
connect(dlink->mavlinknode->replay,SIGNAL(currentPercentage(float)),
toolsui->index2,SLOT(setCurrentPercentage(float)));
@@ -416,6 +414,15 @@ MainWindow::MainWindow(QWidget *parent)
map,SLOT(getAllPoints(int)));
+ connect(map,SIGNAL(settableGroup(int)),
+ missionUI,SIGNAL(settableGroup(int)));
+
+ connect(missionUI,SIGNAL(ruler_clicked()),
+ map,SLOT(ruler_clicked()));
+
+ connect(map,SIGNAL(measureState(bool)),
+ missionUI,SLOT(measureState(bool)));
+
//dlink ----- map
connect(map,SIGNAL(signal_WPDownload(uint8_t,uint8_t,int)),
diff --git a/MavLinkNode/mavlinknode.cpp b/MavLinkNode/mavlinknode.cpp
index ef8fe65..5fd4250 100644
--- a/MavLinkNode/mavlinknode.cpp
+++ b/MavLinkNode/mavlinknode.cpp
@@ -1,5 +1,5 @@
#include "mavlinknode.h"
-
+#include "QElapsedTimer"
/*
* mavlink 解析相关内容请参考如下
* https://mavlink.io/en/services/command.html
@@ -18,7 +18,7 @@ MavLinkNode::MavLinkNode(QObject *parent) : ThreadTemplet(parent)
CommucationOverTimer = 1000;
- setRunFrq(10);//50
+ setRunFrq(100);//50
@@ -481,10 +481,18 @@ void MavLinkNode::process()//线程函数
uint8_t count = 0;
QByteArray datagram = nullptr;
bool isIdle = true;
+
+
+ QElapsedTimer time;
+ time.start();
+
while (running_flag)
{
+ time.restart();
+
+
count ++;
- //QThread::msleep(1000/running_frq);
+ QThread::msleep(1000/running_frq);
//timer->start();
//解码从UDP来的
@@ -519,6 +527,9 @@ void MavLinkNode::process()//线程函数
{
// QThread::msleep(1000/running_frq);
}
+
+ int nsec = time.nsecsElapsed();
+ //qDebug() << "mavlinknode a loop using time:" << nsec << "ns";
}
}
diff --git a/dlink/dlink.cpp b/dlink/dlink.cpp
index b962ac8..da1f424 100644
--- a/dlink/dlink.cpp
+++ b/dlink/dlink.cpp
@@ -1,7 +1,7 @@
#include "dlink.h"
#include
#include "QDateTime"
-
+#include "QElapsedTimer"
DLink::DLink(QObject *parent) : QObject(parent)
{
@@ -428,6 +428,8 @@ void DLink::readPendingDatagramsSerialPort(void)
void DLink::readPendingDatagramsClient(void)
{
+ QElapsedTimer time;
+ time.start();
//轮番查询
if(Clientsock)
{
@@ -439,6 +441,10 @@ void DLink::readPendingDatagramsClient(void)
emit recieveMessage(SourceType::c_sock,datagram);
}
}
+ int milsec = time.elapsed();
+
+ //qDebug() << "a loop using time:" << milsec << "ms";
+
}
void DLink::processPendingMulticastDatagrams(void)
diff --git a/opmap/mapwidget/measureline.cpp b/opmap/mapwidget/measureline.cpp
index be1c3b4..9c38f12 100644
--- a/opmap/mapwidget/measureline.cpp
+++ b/opmap/mapwidget/measureline.cpp
@@ -76,7 +76,7 @@ void MeasureLine::paint(QPainter *painter, const QStyleOptionGraphicsItem *optio
}
else
{
- myPen.setColor("#ffff00");
+ myPen.setColor("#FF00FF");
}
painter->setPen(myPen);
diff --git a/opmap/mapwidget/opmapwidget.cpp b/opmap/mapwidget/opmapwidget.cpp
index eaddf04..ff8c19b 100644
--- a/opmap/mapwidget/opmapwidget.cpp
+++ b/opmap/mapwidget/opmapwidget.cpp
@@ -125,11 +125,6 @@ OPMapWidget::OPMapWidget(QWidget *parent, Configuration *config) : QGraphicsView
connect(waypointsetting,SIGNAL(WPLoad(QString)),
this,SLOT(WPLoad(QString)));
- /*
- connect(this,SIGNAL(allPoint(QMap)),
- waypointsetting,SLOT(setallPoint(QMap)));
- */
-
connect(waypointsetting,SIGNAL(searchall()),
this,SLOT(WPsearchall()));
@@ -198,7 +193,12 @@ void OPMapWidget::ruler_clicked(void)
if(isMeasure)
{
isMeasure = false;
- this->setCursor(Qt::ArrowCursor);
+ //this->setCursor(Qt::ArrowCursor);
+ if(measureline)
+ {
+ measureline->hide();
+
+ }
}
else
{
@@ -210,9 +210,11 @@ void OPMapWidget::ruler_clicked(void)
measureline->show();
}
- QPixmap pix(":/markers/images/ruler.png");
- this->setCursor(QCursor(pix.scaled(QSize(50,50), Qt::KeepAspectRatio)));
+ //QPixmap pix(":/markers/images/ruler.png");
+ //this->setCursor(QCursor(pix.scaled(QSize(50,50), Qt::KeepAspectRatio)));
}
+
+ emit measureState(isMeasure);
}
void OPMapWidget::table_clicked(void)
@@ -632,8 +634,8 @@ void OPMapWidget::mouseMoveEvent(QMouseEvent *event)
if(isMeasure)
{
- QPixmap pix(":/markers/images/ruler.png");
- this->setCursor(QCursor(pix.scaled(QSize(50,50), Qt::KeepAspectRatio)));
+ //QPixmap pix(":/markers/images/ruler.png");
+ //this->setCursor(QCursor(pix.scaled(QSize(50,50), Qt::KeepAspectRatio)));
}
@@ -709,8 +711,8 @@ void OPMapWidget::mousePressEvent(QMouseEvent *event)
if(isMeasure)
{
- QPixmap pix(":/markers/images/ruler.png");
- this->setCursor(QCursor(pix.scaled(QSize(50,50), Qt::KeepAspectRatio)));
+ //QPixmap pix(":/markers/images/ruler.png");
+ //this->setCursor(QCursor(pix.scaled(QSize(50,50), Qt::KeepAspectRatio)));
}
@@ -725,8 +727,8 @@ void OPMapWidget::mouseReleaseEvent(QMouseEvent *event)
if(isMeasure)
{
- QPixmap pix(":/markers/images/ruler.png");
- this->setCursor(QCursor(pix.scaled(QSize(50,50), Qt::KeepAspectRatio)));
+ //QPixmap pix(":/markers/images/ruler.png");
+ //this->setCursor(QCursor(pix.scaled(QSize(50,50), Qt::KeepAspectRatio)));
}
//qDebug() << "relea";
@@ -738,8 +740,8 @@ void OPMapWidget::mouseDoubleClickEvent(QMouseEvent *event)
if(isMeasure)
{
- QPixmap pix(":/markers/images/ruler.png");
- this->setCursor(QCursor(pix.scaled(QSize(50,50), Qt::KeepAspectRatio)));
+ //QPixmap pix(":/markers/images/ruler.png");
+ //this->setCursor(QCursor(pix.scaled(QSize(50,50), Qt::KeepAspectRatio)));
}
if(isMeasure)
@@ -2213,6 +2215,8 @@ void OPMapWidget::WPGroup(int value)
{
currentGroup = value;
+
+
qDebug() << "group checkout" << value;
//切换当前航线,其他都隐藏,或者高亮当前
@@ -2273,6 +2277,8 @@ void OPMapWidget::WPGroup(int value)
}
}
+ emit settableGroup(currentGroup);
+
update();
}
diff --git a/opmap/mapwidget/opmapwidget.h b/opmap/mapwidget/opmapwidget.h
index c166344..512f713 100644
--- a/opmap/mapwidget/opmapwidget.h
+++ b/opmap/mapwidget/opmapwidget.h
@@ -532,6 +532,7 @@ signals:
//map property
void MapTypes(QStringList list);
+ void settableGroup(int);
void TotalDistanceUpdate(double);
@@ -631,6 +632,9 @@ signals:
void setCurrent(int seq);
+ void measureState(bool);
+
+
public slots: