|
@@ -495,6 +495,7 @@ void MainWindow::CreateTab1View(QTabWidget * p)
|
|
|
pCB->addItem("Scene");
|
|
|
pCB->setCurrentIndex(0);
|
|
|
pCB->setGeometry(nXPos,nYPos,nLEWidth,nLEHeight);
|
|
|
+ mpCBViewMode = pCB;
|
|
|
connect(pCB,SIGNAL(currentIndexChanged(int)),this,SLOT(onViewModeChange(int)));
|
|
|
|
|
|
nXPos = 10;
|
|
@@ -3051,6 +3052,7 @@ void MainWindow::onClickCreateRoad()
|
|
|
{
|
|
|
if(mvectorrc.size()<1)return;
|
|
|
|
|
|
+ SaveBack();
|
|
|
Road * p1, *p2;
|
|
|
int nroad1index;
|
|
|
int nroad2index;
|
|
@@ -4364,6 +4366,7 @@ void MainWindow::onClickRoadDel()
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ SaveBack();
|
|
|
mxodr.DeleteRoad(index);
|
|
|
|
|
|
nroadsize = mxodr.GetRoadCount();
|
|
@@ -4438,6 +4441,10 @@ void MainWindow::onClickRoadDel()
|
|
|
updateCBRoad();
|
|
|
mbRefresh = true;
|
|
|
update();
|
|
|
+ if(mpCBViewMode->currentIndex() == 1)
|
|
|
+ {
|
|
|
+ UpdateScene();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void MainWindow::updateCBRoad()
|
|
@@ -5086,17 +5093,24 @@ void MainWindow::on_actionEdit_Road_Lane_triggered()
|
|
|
|
|
|
void MainWindow::on_actionEdit_Road_triggered()
|
|
|
{
|
|
|
+ SaveBack();
|
|
|
std::string strroadid = mpCBRoad->currentText().toStdString();
|
|
|
RoadEditDialog rd(&mxodr,strroadid,this);
|
|
|
int res = rd.exec();
|
|
|
|
|
|
+
|
|
|
updateCBRoad();
|
|
|
mbRefresh = true;
|
|
|
update();
|
|
|
+ if(mpCBViewMode->currentIndex() == 1)
|
|
|
+ {
|
|
|
+ UpdateScene();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void MainWindow::on_actionAdd_Road_From_RTK_triggered()
|
|
|
{
|
|
|
+ SaveBack();
|
|
|
DialogAddRoadFromRTK arfrd(&mxodr,glon0,glat0,this);
|
|
|
arfrd.exec();
|
|
|
mpLELat0->setText(QString::number(glat0,'f',7));
|
|
@@ -5224,3 +5238,36 @@ void MainWindow::on_actionCalc_Road_S_triggered()
|
|
|
DialogCalcS calcs(&mxodr,glon0,glat0,this);
|
|
|
calcs.exec();
|
|
|
}
|
|
|
+
|
|
|
+void MainWindow::on_actionBack_triggered()
|
|
|
+{
|
|
|
+ if(mvectorxodrback.size()>0)
|
|
|
+ {
|
|
|
+ mxodr = mvectorxodrback.at(mvectorxodrback.size() -1);
|
|
|
+ updateCBRoad();
|
|
|
+ mbRefresh = true;
|
|
|
+ update();
|
|
|
+ if(mpCBViewMode->currentIndex() == 1)
|
|
|
+ {
|
|
|
+ UpdateScene();
|
|
|
+ }
|
|
|
+ mvectorxodrback.erase(mvectorxodrback.begin() + mvectorxodrback.size()-1);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ QMessageBox::warning(this,"Warning","No Back Option",QMessageBox::YesAll);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void MainWindow::SaveBack()
|
|
|
+{
|
|
|
+ if(mxodr.GetRoadCount() > 0)
|
|
|
+ {
|
|
|
+ mvectorxodrback.push_back(mxodr);
|
|
|
+ if(mvectorxodrback.size() > 10)
|
|
|
+ {
|
|
|
+ mvectorxodrback.erase(mvectorxodrback.begin());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+}
|