QWidget *WalkmeshManager::buildWalkmeshPage() { QWidget *ret = new QWidget(this); ListWidget *listWidget = new ListWidget(ret); listWidget->addAction(ListWidget::Add, tr("Ajouter triangle"), this, SLOT(addTriangle())); listWidget->addAction(ListWidget::Rem, tr("Supprimer triangle"), this, SLOT(removeTriangle())); idToolbar = listWidget->toolBar(); idList = listWidget->listWidget(); idVertices[0] = new VertexWidget(ret); idVertices[1] = new VertexWidget(ret); idVertices[2] = new VertexWidget(ret); idAccess[0] = new QSpinBox(ret); idAccess[1] = new QSpinBox(ret); idAccess[2] = new QSpinBox(ret); idAccess[0]->setRange(-32768, 32767); idAccess[1]->setRange(-32768, 32767); idAccess[2]->setRange(-32768, 32767); QHBoxLayout *accessLayout0 = new QHBoxLayout; accessLayout0->addWidget(new QLabel(tr("Triangle accessible via la ligne 1-2 :"))); accessLayout0->addWidget(idAccess[0]); QHBoxLayout *accessLayout1 = new QHBoxLayout; accessLayout1->addWidget(new QLabel(tr("Triangle accessible via la ligne 2-3 :"))); accessLayout1->addWidget(idAccess[1]); QHBoxLayout *accessLayout2 = new QHBoxLayout; accessLayout2->addWidget(new QLabel(tr("Triangle accessible via la ligne 3-1 :"))); accessLayout2->addWidget(idAccess[2]); QGridLayout *layout = new QGridLayout(ret); layout->addWidget(listWidget, 0, 0, 7, 1, Qt::AlignLeft); layout->addWidget(new QLabel(tr("Point 1 :")), 0, 1); layout->addWidget(idVertices[0], 0, 2); layout->addWidget(new QLabel(tr("Point 2 :")), 1, 1); layout->addWidget(idVertices[1], 1, 2); layout->addWidget(new QLabel(tr("Point 3 :")), 2, 1); layout->addWidget(idVertices[2], 2, 2); layout->addLayout(accessLayout0, 3, 1, 1, 2); layout->addLayout(accessLayout1, 4, 1, 1, 2); layout->addLayout(accessLayout2, 5, 1, 1, 2); layout->setRowStretch(6, 1); connect(idList, SIGNAL(currentRowChanged(int)), SLOT(setCurrentId(int))); connect(idVertices[0], SIGNAL(valuesChanged(Vertex_s)), SLOT(editIdTriangle(Vertex_s))); connect(idVertices[1], SIGNAL(valuesChanged(Vertex_s)), SLOT(editIdTriangle(Vertex_s))); connect(idVertices[2], SIGNAL(valuesChanged(Vertex_s)), SLOT(editIdTriangle(Vertex_s))); connect(idAccess[0], SIGNAL(valueChanged(int)), SLOT(editIdAccess(int))); connect(idAccess[1], SIGNAL(valueChanged(int)), SLOT(editIdAccess(int))); connect(idAccess[2], SIGNAL(valueChanged(int)), SLOT(editIdAccess(int))); return ret; }
QWidget *WalkmeshManager::buildCameraPage() { QWidget *ret = new QWidget(this); ListWidget *listWidget = new ListWidget(ret); listWidget->addAction(ListWidget::Add, tr("Ajouter caméra"), this, SLOT(addCamera())); listWidget->addAction(ListWidget::Rem, tr("Supprimer caméra"), this, SLOT(removeCamera())); caToolbar = listWidget->toolBar(); camList = listWidget->listWidget(); caVectorXEdit = new VertexWidget(ret); caVectorYEdit = new VertexWidget(ret); caVectorZEdit = new VertexWidget(ret); caSpaceXEdit = new QDoubleSpinBox(ret); qreal maxInt = qPow(2,31); caSpaceXEdit->setRange(-maxInt, maxInt); caSpaceXEdit->setDecimals(0); caSpaceYEdit = new QDoubleSpinBox(ret); caSpaceYEdit->setRange(-maxInt, maxInt); caSpaceYEdit->setDecimals(0); caSpaceZEdit = new QDoubleSpinBox(ret); caSpaceZEdit->setRange(-maxInt, maxInt); caSpaceZEdit->setDecimals(0); caZoomEdit = new QSpinBox(ret); caZoomEdit->setRange(-32768, 32767); QGridLayout *caLayout = new QGridLayout(ret); caLayout->addWidget(listWidget, 0, 0, 8, 1); caLayout->addWidget(new QLabel(tr("Distance (zoom) :")), 0, 1, 1, 3); caLayout->addWidget(caZoomEdit, 0, 4, 1, 2); caLayout->addWidget(new QLabel(tr("Axes de la caméra :")), 1, 1, 1, 6); caLayout->addWidget(caVectorXEdit, 2, 1, 1, 6); caLayout->addWidget(caVectorYEdit, 3, 1, 1, 6); caLayout->addWidget(caVectorZEdit, 4, 1, 1, 6); caLayout->addWidget(new QLabel(tr("Position de la caméra :")), 5, 1, 1, 6); caLayout->addWidget(new QLabel(tr("X")), 6, 1); caLayout->addWidget(caSpaceXEdit, 6, 2); caLayout->addWidget(new QLabel(tr("Y")), 6, 3); caLayout->addWidget(caSpaceYEdit, 6, 4); caLayout->addWidget(new QLabel(tr("Z")), 6, 5); caLayout->addWidget(caSpaceZEdit, 6, 6); caLayout->setRowStretch(7, 1); caLayout->setColumnStretch(2, 1); caLayout->setColumnStretch(4, 1); caLayout->setColumnStretch(6, 1); connect(camList, SIGNAL(currentRowChanged(int)), SLOT(setCurrentCamera(int))); connect(caVectorXEdit, SIGNAL(valuesChanged(Vertex_s)), SLOT(editCaVector(Vertex_s))); connect(caVectorYEdit, SIGNAL(valuesChanged(Vertex_s)), SLOT(editCaVector(Vertex_s))); connect(caVectorZEdit, SIGNAL(valuesChanged(Vertex_s)), SLOT(editCaVector(Vertex_s))); connect(caSpaceXEdit, SIGNAL(valueChanged(double)), SLOT(editCaPos(double))); connect(caSpaceYEdit, SIGNAL(valueChanged(double)), SLOT(editCaPos(double))); connect(caSpaceZEdit, SIGNAL(valueChanged(double)), SLOT(editCaPos(double))); connect(caZoomEdit, SIGNAL(valueChanged(int)), SLOT(editCaZoom(int))); return ret; }