Browse Source

change tool/map_lanetoxodr. change marking.

yuchuli 3 years ago
parent
commit
8c73ac8936

+ 27 - 0
src/tool/map_lanetoxodr/dialogroadobject.cpp

@@ -122,6 +122,7 @@ void DialogRoadObject::CreateView()
     connect(mpPBparkingspace,SIGNAL(clicked(bool)),this,SLOT(onClickParkingSpace()));
     connect(mpPBoutlines,SIGNAL(clicked(bool)),this,SLOT(onClickOutlines()));
     connect(mpPBoutline,SIGNAL(clicked(bool)),this,SLOT(onClickOutline()));
+    connect(mpPBmarkings,SIGNAL(clicked(bool)),this,SLOT(onClickMarking()));
 }
 
 
@@ -585,3 +586,29 @@ void DialogRoadObject::onClickOutline()
     dlgoutline.exec();
 }
 
+void DialogRoadObject::onClickMarking()
+{
+    if(mpRoad == 0)return;
+    Road * pRoad = mpRoad;
+    if(pRoad->GetObjectCount() == 0)
+    {
+        QMessageBox::warning(this,"Warning","No Object.",QMessageBox::YesAll);
+        return;
+    }
+
+    int index = ui->comboBox_Object->currentIndex();
+    if(index<0)return;
+    if(index >= (int)mpRoad->GetObjectCount())return;
+
+    Object * pObject = mpRoad->GetObject(index);
+    if(pObject == 0)
+    {
+        QMessageBox::warning(this,"Warning","Can't found Object.",QMessageBox::YesAll);
+        return;
+    }
+
+    DialogRoadObject_Marking dlgmarking(pObject);
+
+    dlgmarking.exec();
+}
+

+ 2 - 0
src/tool/map_lanetoxodr/dialogroadobject.h

@@ -16,6 +16,7 @@
 #include "dialogroadobject_parkingspace.h"
 #include "dialogroadobject_outlines.h"
 #include "dialogroadobject_outline.h"
+#include "dialogroadobject_marking.h"
 
 namespace Ui {
 class DialogRoadObject;
@@ -43,6 +44,7 @@ private slots:
     void onClickParkingSpace();
     void onClickOutlines();
     void onClickOutline();
+    void onClickMarking();
 
 private:
     Ui::DialogRoadObject *ui;

+ 55 - 1
src/tool/map_lanetoxodr/dialogroadobject_marking.cpp

@@ -1,13 +1,31 @@
 #include "dialogroadobject_marking.h"
 #include "ui_dialogroadobject_marking.h"
 
-DialogRoadObject_Marking::DialogRoadObject_Marking(QWidget *parent) :
+
+static std::string gstr_e_markingsideType[] ={"left","right","front","rear"};
+
+static const int gmarkingsideTypeCount = 4;
+
+
+DialogRoadObject_Marking::DialogRoadObject_Marking(Object * pObject,QWidget *parent) :
     QDialog(parent),
     ui(new Ui::DialogRoadObject_Marking)
 {
     ui->setupUi(this);
 
+    mpObject = pObject;
+
     CreateView();
+
+    int i;
+    for(i=0;i<gmarkingsideTypeCount;i++)
+    {
+        mpCBside->addItem(gstr_e_markingsideType[i].data());
+    }
+    mpCBside->addItem("NO");
+    mpCBside->setCurrentIndex(gmarkingsideTypeCount);
+
+
 }
 
 DialogRoadObject_Marking::~DialogRoadObject_Marking()
@@ -27,6 +45,10 @@ void DialogRoadObject_Marking::CreateView()
     int nVIndex = 0;
     int nHIndex = 0;
 
+    mpCBMarking = ViewCreate::CreateCB(startpos_x+nHIndex*nSpace,startpos_y+nVIndex*nVSpace,nLabelWidth,nLEWidth,nHeight,"Marking",this);
+    nVIndex++;
+    nHIndex = 0;
+
     mpCBside = ViewCreate::CreateCB(startpos_x+nHIndex*nSpace,startpos_y+nVIndex*nVSpace,nLabelWidth,nLEWidth,nHeight,"side",this);
     nHIndex++;
     mpCBweight = ViewCreate::CreateCB(startpos_x+nHIndex*nSpace,startpos_y+nVIndex*nVSpace,nLabelWidth,nLEWidth,nHeight,"weight",this);
@@ -52,5 +74,37 @@ void DialogRoadObject_Marking::CreateView()
     mpLEstopOffset = ViewCreate::CreateLE(startpos_x+nHIndex*nSpace,startpos_y+nVIndex*nVSpace,nLabelWidth,nLEWidth,nHeight,"stopOffset",this);
 
 
+    nVIndex++;
+    int nPBSpace = 150;
+    int nPBWidth = 100;
+    mpPBAdd = ViewCreate::CreatePB(startpos_x+0*nPBSpace,startpos_y+nVIndex*nVSpace,nPBWidth,nHeight,"Add",this);
+    mpPBDelete = ViewCreate::CreatePB(startpos_x+1*nPBSpace,startpos_y+nVIndex*nVSpace,nPBWidth,nHeight,"Delete",this);
+    mpPBChange = ViewCreate::CreatePB(startpos_x+2*nPBSpace,startpos_y+nVIndex*nVSpace,nPBWidth,nHeight,"Change",this);
+
+
+    connect(mpCBMarking,SIGNAL(currentIndexChanged(int)),this,SLOT(CurrentMarking(int)));
+    connect(mpPBAdd,SIGNAL(clicked(bool)),this,SLOT(onClickAdd()));
+    connect(mpPBDelete,SIGNAL(clicked(bool)),this,SLOT(onClickDelete()));
+    connect(mpPBChange,SIGNAL(clicked(bool)),this,SLOT(onClickChange()));
+
+}
+
+void DialogRoadObject_Marking::CurrentMarking(int index)
+{
+
+}
+
+void DialogRoadObject_Marking::onClickAdd()
+{
+
+}
+
+void DialogRoadObject_Marking::onClickDelete()
+{
+
+}
+
+void DialogRoadObject_Marking::onClickChange()
+{
 
 }

+ 15 - 1
src/tool/map_lanetoxodr/dialogroadobject_marking.h

@@ -16,7 +16,7 @@ class DialogRoadObject_Marking : public QDialog
     Q_OBJECT
 
 public:
-    explicit DialogRoadObject_Marking(QWidget *parent = nullptr);
+    explicit DialogRoadObject_Marking(Object * pObject,QWidget *parent = nullptr);
     ~DialogRoadObject_Marking();
 
 private:
@@ -25,7 +25,17 @@ private:
 private:
     void CreateView();
 
+private slots:
+    void CurrentMarking(int index);
+    void onClickAdd();
+    void onClickDelete();
+    void onClickChange();
+
+private:
+    Object * mpObject = 0;
+
 private:
+    QComboBox * mpCBMarking;
     QComboBox * mpCBside;
     QComboBox * mpCBweight;
     QLineEdit * mpLEwidth;
@@ -35,6 +45,10 @@ private:
     QLineEdit * mpLElineLength;
     QLineEdit * mpLEstartOffset;
     QLineEdit * mpLEstopOffset;
+
+    QPushButton * mpPBAdd;
+    QPushButton * mpPBDelete;
+    QPushButton * mpPBChange;
 };
 
 #endif // DIALOGROADOBJECT_MARKING_H

+ 2 - 2
src/tool/map_lanetoxodr/dialogroadobject_marking.ui

@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>674</width>
-    <height>478</height>
+    <width>861</width>
+    <height>533</height>
    </rect>
   </property>
   <property name="windowTitle">