// // File: coordinates.cc // // (C) 2000-2006 Helmut Cantzler // // Licensed under the terms of the Lesser General Public License. // #include #include "mview.h" #include "coordinates.h" CoordinatesWindow::CoordinatesWindow(QWidget *parent, Mesh *mesh) : QMainWindow(parent) { CoordinatesWindow::mesh = mesh; QWidget *vbox = new QWidget(this); QVBoxLayout *layout = new QVBoxLayout(vbox); layout->setMargin(5); layout->setSpacing(5); vbox->setLayout(layout); /// Display area for the coordinates /// textfield = new QTextEdit(vbox); textfield->setFrameStyle(QFrame::Panel | QFrame::Plain); textfield->setReadOnly(TRUE); layout->addWidget(textfield); /// Control buttons /// QWidget *buttons = new QWidget(vbox); QHBoxLayout *blayout = new QHBoxLayout(buttons); blayout->setMargin(5); blayout->setSpacing(5); buttons->setLayout(blayout); blayout->addStretch( 10 ); QPushButton* clear = new QPushButton("Clear", buttons); connect(clear, SIGNAL(clicked()), textfield, SLOT(clear())); blayout->addWidget( clear ); QPushButton* close = new QPushButton("Close", buttons); connect(close, SIGNAL(clicked()), parent, SLOT(closePick())); blayout->addWidget( close ); layout->addWidget(buttons); setCentralWidget( vbox ); resize(350, 250); setWindowTitle("Coordinates"); close->setFocus(); } void CoordinatesWindow::printResult(const Vertex *v, const Edge *e, const Triangle *t) { Vertex org; if (v != NULL) { textfield->append( tr("Point:") ); mesh->calc_original_coordinates(v, &org); textfield->append( tr(" %1 %2 %3").arg(org.x()).arg(org.y()).arg(org.z()) ); textfield->append(""); } if (e != NULL) { textfield->append( tr("Edge:") ); for (int i=0; i < 2; i++) { mesh->calc_original_coordinates(e->vertices[i], &org); textfield->append( tr(" %1 %2 %3").arg(org.x()).arg(org.y()).arg(org.z()) ); } textfield->append(""); } if (t != NULL) { textfield->append( tr("Triangle:") ); for (int i=0; i < 3; i++) { mesh->calc_original_coordinates(t->vertices[i], &org); textfield->append( tr(" %1 %2 %3").arg(org.x()).arg(org.y()).arg(org.z()) ); } textfield->append(""); } }