添加读取所有航点功能
This commit is contained in:
+58
-11
@@ -309,7 +309,9 @@ void MissionUI::on_tabWidget_currentChanged(int index)
|
||||
break;
|
||||
}
|
||||
|
||||
//emit groupChanged(group);
|
||||
qDebug() << "currentChanged" << group;
|
||||
|
||||
emit groupChanged(group);
|
||||
|
||||
QTableWidget *widget = tablelist.value(group);
|
||||
int idx = widget->currentRow() + 1;
|
||||
@@ -356,8 +358,32 @@ void MissionUI::on_pushButton_insert_clicked()
|
||||
{
|
||||
emit WPInsert();
|
||||
|
||||
int group = 3;
|
||||
//根据tabwidget
|
||||
int tab_idx =ui->tabWidget->currentIndex();
|
||||
|
||||
switch (tab_idx) {
|
||||
case 0:
|
||||
group = 1;
|
||||
break;
|
||||
case 1:
|
||||
group = 3;
|
||||
break;
|
||||
case 2:
|
||||
group = 4;
|
||||
break;
|
||||
case 3:
|
||||
group = 5;
|
||||
break;
|
||||
case 4:
|
||||
group = 6;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//删除完成后,刷新一次所有航点
|
||||
emit getAllPoints();
|
||||
emit getAllPoints(group);
|
||||
}
|
||||
|
||||
void MissionUI::on_pushButton_delete_clicked()
|
||||
@@ -393,7 +419,7 @@ void MissionUI::on_pushButton_delete_clicked()
|
||||
emit WPDelete();
|
||||
|
||||
//删除完成后,刷新一次所有航点
|
||||
emit getAllPoints();
|
||||
emit getAllPoints(tablelist.key(widget));
|
||||
|
||||
}
|
||||
|
||||
@@ -401,8 +427,32 @@ void MissionUI::on_pushButton_add_clicked()
|
||||
{
|
||||
emit WPAdd();
|
||||
|
||||
//删除完成后,刷新一次所有航点
|
||||
emit getAllPoints();
|
||||
int group = 3;
|
||||
//根据tabwidget
|
||||
int tab_idx =ui->tabWidget->currentIndex();
|
||||
|
||||
switch (tab_idx) {
|
||||
case 0:
|
||||
group = 1;
|
||||
break;
|
||||
case 1:
|
||||
group = 3;
|
||||
break;
|
||||
case 2:
|
||||
group = 4;
|
||||
break;
|
||||
case 3:
|
||||
group = 5;
|
||||
break;
|
||||
case 4:
|
||||
group = 6;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//刷新一次所有航点
|
||||
emit getAllPoints(group);
|
||||
}
|
||||
|
||||
void MissionUI::on_pushButton_clean_clicked()
|
||||
@@ -431,14 +481,15 @@ void MissionUI::on_pushButton_clean_clicked()
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = 0;i < widget->rowCount();i++) {
|
||||
int count = widget->rowCount();
|
||||
for (int i = 0;i < count;i++) {
|
||||
widget->removeRow(i);
|
||||
}
|
||||
|
||||
emit WPDeleteAll();
|
||||
|
||||
//删除完成后,刷新一次所有航点
|
||||
emit getAllPoints();
|
||||
//emit getAllPoints(tablelist.key(widget));
|
||||
}
|
||||
|
||||
|
||||
@@ -566,11 +617,7 @@ void MissionUI::itemDoubleClicked(QTableWidgetItem *item)
|
||||
{
|
||||
QLineEdit *line = new QLineEdit(widget);
|
||||
line->setStyleSheet("background-color: #FFFFFF;font :15px 黑体;");
|
||||
//line->setValidator(new QRegExpValidator(QRegExp("[0-9.-]+$")));
|
||||
|
||||
|
||||
line->setText(itemValue.toString());
|
||||
|
||||
widget->removeCellWidget(row,column);
|
||||
widget->setCellWidget(row,column,line);
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ signals:
|
||||
void waypointSelect(int group,int idx);
|
||||
|
||||
|
||||
void getAllPoints(void);//读取一下所有的航点
|
||||
void getAllPoints(int group);//读取一下所有的航点
|
||||
|
||||
private:
|
||||
Ui::MissionUI *ui;
|
||||
|
||||
@@ -164,6 +164,8 @@ propertyui::propertyui(QWidget *parent) :
|
||||
connect(this,&propertyui::settableGroup,
|
||||
table,&MissionUI::settableGroup);
|
||||
|
||||
connect(table,&MissionUI::getAllPoints,
|
||||
this,&propertyui::getAllPoints);
|
||||
|
||||
|
||||
//初始化参数
|
||||
@@ -2110,8 +2112,12 @@ void propertyui::on_pushButton_Delete_clicked()
|
||||
|
||||
void propertyui::waypointSelect(int group,int idx)
|
||||
{
|
||||
|
||||
//读取这个值得航点
|
||||
//这个不够稳定
|
||||
GroupChanged(group);
|
||||
|
||||
//先换组,再切点
|
||||
emit WPotherPoint(idx);
|
||||
}
|
||||
|
||||
|
||||
@@ -258,6 +258,7 @@ Q_SIGNALS:
|
||||
|
||||
void settableGroup(int);
|
||||
|
||||
void getAllPoints(int group);
|
||||
|
||||
private slots:
|
||||
|
||||
|
||||
@@ -411,6 +411,12 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
connect(missionUI,SIGNAL(searchall()),
|
||||
map,SLOT(WPsearchall()));
|
||||
|
||||
|
||||
connect(missionUI,SIGNAL(getAllPoints(int)),
|
||||
map,SLOT(getAllPoints(int)));
|
||||
|
||||
|
||||
|
||||
//dlink ----- map
|
||||
connect(map,SIGNAL(signal_WPDownload(uint8_t,uint8_t,int)),
|
||||
dlink->mavlinknode->Mission,SLOT(ReadCmd(uint8_t,uint8_t,int)),Qt::DirectConnection);
|
||||
|
||||
@@ -921,6 +921,7 @@ int OPMapWidget::getWaypointSize(int group)
|
||||
|
||||
void OPMapWidget::WPInsert()
|
||||
{
|
||||
bool isExist = false;
|
||||
//获取位置和组号
|
||||
int position = 0;
|
||||
int group = 3;
|
||||
@@ -930,12 +931,23 @@ void OPMapWidget::WPInsert()
|
||||
|
||||
if (w) {
|
||||
if (w->isSelected()) {
|
||||
position = w->Number();
|
||||
group = w->MissionType();
|
||||
|
||||
if(currentGroup == w->MissionType())
|
||||
{
|
||||
position = w->Number();
|
||||
group = w->MissionType();
|
||||
isExist = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(isExist == false)//没有选中的点
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//刷新全部连线,目前连线很乱
|
||||
internals::PointLatLng latlng;
|
||||
|
||||
@@ -1125,52 +1137,43 @@ void OPMapWidget::WPDelete(void)
|
||||
int number = 0;
|
||||
int group = 3;
|
||||
|
||||
foreach(QGraphicsItem * i, map->childItems()) {
|
||||
WayPointItem *w = qgraphicsitem_cast<WayPointItem *>(i);
|
||||
foreach(QGraphicsItem * i, map->childItems()) {
|
||||
WayPointItem *w = qgraphicsitem_cast<WayPointItem *>(i);
|
||||
|
||||
if (w) {
|
||||
if (w->isSelected()) {
|
||||
if (w) {
|
||||
if (w->isSelected()) {
|
||||
|
||||
number = w->Number();
|
||||
group = w->MissionType();
|
||||
emit WPDeleted(w->Number(), w);//这个会修改编号
|
||||
delete w;
|
||||
}
|
||||
number = w->Number();
|
||||
group = w->MissionType();
|
||||
emit WPDeleted(w->Number(), w);//这个会修改编号
|
||||
delete w;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//当前选中为上一点
|
||||
WayPointItem *item = WPFind(group,number -1);
|
||||
if(item)
|
||||
{
|
||||
setSelectedWP(item);
|
||||
item->emitWPProperty();
|
||||
//当前选中为上一点
|
||||
WayPointItem *item = WPFind(group,number -1);
|
||||
if(item)
|
||||
{
|
||||
setSelectedWP(item);
|
||||
item->emitWPProperty();
|
||||
|
||||
WayPointItem *item_next = WPFind(group,number);
|
||||
if (item_next) {
|
||||
WPLineCreate(item,item_next,Qt::green,false,2);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
WayPointItem *ww = WPFind(group,number);
|
||||
if(ww)
|
||||
{
|
||||
setSelectedWP(ww);
|
||||
ww->emitWPProperty();
|
||||
}
|
||||
WayPointItem *item_next = WPFind(group,number);
|
||||
if (item_next) {
|
||||
WPLineCreate(item,item_next,Qt::green,false,2);
|
||||
}
|
||||
|
||||
/*
|
||||
foreach(QGraphicsItem * i, map->childItems()) {
|
||||
WayPointItem *w = qgraphicsitem_cast<WayPointItem *>(i);
|
||||
if (w) {
|
||||
WPFollowPrevious(w->FollowPrevious(),w);
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
WayPointItem *ww = WPFind(group,number);
|
||||
if(ww)
|
||||
{
|
||||
setSelectedWP(ww);
|
||||
ww->emitWPProperty();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
WayPointItem *OPMapWidget::WPFind(int group,int number)
|
||||
@@ -2532,5 +2535,32 @@ void OPMapWidget::find_PointNumber()
|
||||
emit PointNumber(nums);
|
||||
}
|
||||
|
||||
void OPMapWidget::getAllPoints(int group)
|
||||
{
|
||||
QMap<int,WayPointItem *> points;
|
||||
points.clear();
|
||||
|
||||
|
||||
foreach(QGraphicsItem * i, map->childItems()) {
|
||||
WayPointItem *w = qgraphicsitem_cast<WayPointItem *>(i);
|
||||
if (w)
|
||||
{
|
||||
if(w->MissionType() == group)
|
||||
{
|
||||
points.insert(w->Number(),w);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QMapIterator<int,WayPointItem *> iter(points);
|
||||
while (iter.hasNext()) {
|
||||
iter.next();
|
||||
WayPointItem *Item = iter.value();
|
||||
Item->emitWPProperty();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -634,6 +634,7 @@ signals:
|
||||
|
||||
public slots:
|
||||
|
||||
void getAllPoints(int group);
|
||||
void groupchanged(int value);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user