123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- #include "dialogroadobject_outline_cornerroad.h"
- #include "ui_dialogroadobject_outline_cornerroad.h"
- DialogRoadObject_Outline_cornerRoad::DialogRoadObject_Outline_cornerRoad(Object_outlines_outline * poutline,int ntype,QWidget *parent) :
- QDialog(parent),
- ui(new Ui::DialogRoadObject_Outline_cornerRoad)
- {
- ui->setupUi(this);
- mpoutline = poutline;
- mntype = ntype;
- if(ntype == 1)
- {
- ui->label_s->setText("u");
- ui->label_t->setText("v");
- ui->label_dz->setText("z");
- ui->label_corner->setText("cornerLocal");
- }
- UpdateCB();
- if(ntype == 0)
- setWindowTitle("Edit Road Object Outline cornerRoad");
- else
- setWindowTitle("Edit Road Object Outline cornerLocal");
- }
- DialogRoadObject_Outline_cornerRoad::~DialogRoadObject_Outline_cornerRoad()
- {
- delete ui;
- }
- void DialogRoadObject_Outline_cornerRoad::on_pushButton_Add_clicked()
- {
- if(mpoutline == NULL)return;
- if(mntype == 0)
- {
- if(ViewCreate::CheckLE(ui->lineEdit_s,"s",true,this) == false)return;
- if(ViewCreate::CheckLE(ui->lineEdit_t,"t",true,this) == false)return;
- if(ViewCreate::CheckLE(ui->lineEdit_dz,"dz",true,this) == false)return;
- }
- else
- {
- if(ViewCreate::CheckLE(ui->lineEdit_s,"u",true,this) == false)return;
- if(ViewCreate::CheckLE(ui->lineEdit_t,"v",true,this) == false)return;
- if(ViewCreate::CheckLE(ui->lineEdit_dz,"z",true,this) == false)return;
- }
- if(ViewCreate::CheckLE(ui->lineEdit_height,"height",true,this) == false)return;
- if(mntype == 0)
- {
- mpoutline->AddcornerRoad(ui->lineEdit_s->text().toDouble(),
- ui->lineEdit_t->text().toDouble(),
- ui->lineEdit_dz->text().toDouble(),
- ui->lineEdit_height->text().toDouble());
- Object_outlines_outline_cornerRoad * pcornerRoad = mpoutline->GetLastAddedcornerRoad();
- if(ViewCreate::CheckLE(ui->lineEdit_id,"id",false,this) == true)
- {
- pcornerRoad->Setid(ui->lineEdit_id->text().toInt());
- }
- }
- else
- {
- mpoutline->AddcornerLocal(ui->lineEdit_s->text().toDouble(),
- ui->lineEdit_t->text().toDouble(),
- ui->lineEdit_dz->text().toDouble(),
- ui->lineEdit_height->text().toDouble());
- Object_outlines_outline_cornerLocal * pcornerLocal = mpoutline->GetLastAddedcornerLocal();
- if(ViewCreate::CheckLE(ui->lineEdit_id,"id",false,this) == true)
- {
- pcornerLocal->Setid(ui->lineEdit_id->text().toInt());
- }
- }
- UpdateCB();
- }
- void DialogRoadObject_Outline_cornerRoad::on_pushButton_Delete_clicked()
- {
- if(mpoutline == NULL)return;
- if(mntype == 0)
- {
- if(mpoutline->GetcornerRoadCount() == 0)
- {
- QMessageBox::warning(this,"Warning","No CornerRoad.",QMessageBox::YesAll);
- return;
- }
- mpoutline->DeletecornerRoad(ui->comboBox_corner->currentIndex());
- }
- else
- {
- if(mpoutline->GetcornerLocalCount() == 0)
- {
- QMessageBox::warning(this,"Warning","No CornerLocal.",QMessageBox::YesAll);
- return;
- }
- mpoutline->DeletecornerLocal(ui->comboBox_corner->currentIndex());
- }
- UpdateCB();
- }
- void DialogRoadObject_Outline_cornerRoad::on_pushButton_Change_clicked()
- {
- if(mpoutline == NULL)return;
- Object_outlines_outline_cornerRoad * pcornerRoad = NULL;
- Object_outlines_outline_cornerLocal * pcornerLocal = NULL;
- if(mntype == 0)
- {
- if(mpoutline->GetcornerRoadCount() == 0)
- {
- QMessageBox::warning(this,"Warning","No CornerRoad.",QMessageBox::YesAll);
- return;
- }
- pcornerRoad = mpoutline->GetcornerRoad(ui->comboBox_corner->currentIndex());
- if(pcornerRoad == NULL)
- {
- QMessageBox::warning(this,"Warning","cornerRoad NULL.",QMessageBox::YesAll);
- return;
- }
- }
- else
- {
- if(mpoutline->GetcornerLocalCount() == 0)
- {
- QMessageBox::warning(this,"Warning","No CornerLocal.",QMessageBox::YesAll);
- return;
- }
- pcornerLocal = mpoutline->GetcornerLocal(ui->comboBox_corner->currentIndex());
- if(pcornerLocal == NULL)
- {
- QMessageBox::warning(this,"Warning","cornerLocal NULL.",QMessageBox::YesAll);
- return;
- }
- }
- if(mntype == 0)
- {
- if(ViewCreate::CheckLE(ui->lineEdit_s,"s",true,this) == false)return;
- if(ViewCreate::CheckLE(ui->lineEdit_t,"t",true,this) == false)return;
- if(ViewCreate::CheckLE(ui->lineEdit_dz,"dz",true,this) == false)return;
- }
- else
- {
- if(ViewCreate::CheckLE(ui->lineEdit_s,"u",true,this) == false)return;
- if(ViewCreate::CheckLE(ui->lineEdit_t,"v",true,this) == false)return;
- if(ViewCreate::CheckLE(ui->lineEdit_dz,"z",true,this) == false)return;
- }
- if(ViewCreate::CheckLE(ui->lineEdit_height,"height",true,this) == false)return;
- if(mntype == 0)
- {
- pcornerRoad->Sets(ui->lineEdit_s->text().toDouble());
- pcornerRoad->Sett(ui->lineEdit_t->text().toDouble());
- pcornerRoad->Setdz(ui->lineEdit_dz->text().toDouble());
- pcornerRoad->Setheight(ui->lineEdit_height->text().toDouble());
- if(ViewCreate::CheckLE(ui->lineEdit_id,"id",false,this) == true)
- {
- pcornerRoad->Setid(ui->lineEdit_id->text().toInt());
- }
- QMessageBox::information(this,"Info","Change cornerRoad Successfully",QMessageBox::YesAll);
- }
- else
- {
- pcornerLocal->Setu(ui->lineEdit_s->text().toDouble());
- pcornerLocal->Setv(ui->lineEdit_t->text().toDouble());
- pcornerLocal->Setz(ui->lineEdit_dz->text().toDouble());
- pcornerLocal->Setheight(ui->lineEdit_height->text().toDouble());
- if(ViewCreate::CheckLE(ui->lineEdit_id,"id",false,this) == true)
- {
- pcornerLocal->Setid(ui->lineEdit_id->text().toInt());
- }
- QMessageBox::information(this,"Info","Change cornerLocal Successfully",QMessageBox::YesAll);
- }
- int index = ui->comboBox_corner->currentIndex();
- UpdateCB();
- ui->comboBox_corner->setCurrentIndex(index);
- }
- void DialogRoadObject_Outline_cornerRoad::UpdateCB()
- {
- ui->comboBox_corner->clear();
- if(mpoutline == NULL)return;
- if(mntype == 0)
- {
- unsigned ncornerRoadCount = mpoutline->GetcornerRoadCount();
- unsigned i;
- for(i=0;i<ncornerRoadCount;i++)
- {
- ui->comboBox_corner->addItem("cornerRoad "+ QString::number(i));
- }
- }
- else
- {
- unsigned ncornerLocalCount = mpoutline->GetcornerLocalCount();
- unsigned i;
- for(i=0;i<ncornerLocalCount;i++)
- {
- ui->comboBox_corner->addItem("cornerLocal "+ QString::number(i));
- }
- }
- }
- void DialogRoadObject_Outline_cornerRoad::on_comboBox_corner_currentIndexChanged(int index)
- {
- if(index <0)return;
- if(mpoutline == NULL)return;
- if(mntype == 0)
- {
- Object_outlines_outline_cornerRoad * pcornerRoad = mpoutline->GetcornerRoad(index);
- if(pcornerRoad == NULL)
- {
- qDebug(" DialogRoadObject_Outline_cornerRoad::on_comboBox_corner_currentIndexChanged get cornerRoad Fail,index:%d",index);
- return;
- }
- ui->lineEdit_s->setText(QString::number(pcornerRoad->Gets()));
- ui->lineEdit_t->setText(QString::number(pcornerRoad->Gett()));
- ui->lineEdit_dz->setText(QString::number(pcornerRoad->Getdz()));
- ui->lineEdit_height->setText(QString::number(pcornerRoad->Getheight()));
- int id;
- if(pcornerRoad->Getid(id) == 1)
- {
- ui->lineEdit_id->setText(QString::number(id));
- }
- else
- {
- ui->lineEdit_id->setText("");
- }
- }
- else
- {
- Object_outlines_outline_cornerLocal * pcornerLocal = mpoutline->GetcornerLocal(index);
- if(pcornerLocal == NULL)
- {
- qDebug(" DialogRoadObject_Outline_cornerRoad::on_comboBox_corner_currentIndexChanged get cornerRoad Fail,index:%d",index);
- return;
- }
- ui->lineEdit_s->setText(QString::number(pcornerLocal->Getu()));
- ui->lineEdit_t->setText(QString::number(pcornerLocal->Getv()));
- ui->lineEdit_dz->setText(QString::number(pcornerLocal->Getz()));
- ui->lineEdit_height->setText(QString::number(pcornerLocal->Getheight()));
- int id;
- if(pcornerLocal->Getid(id) == 1)
- {
- ui->lineEdit_id->setText(QString::number(id));
- }
- else
- {
- ui->lineEdit_id->setText("");
- }
- }
- }
|