GUI for adjusting elevation quality
[tecorrec.git] / tcMainWindow.cpp
blob252a0e913d64de93c11e4f4f5088a619ce610476
1 /***************************************************************************
2 * This file is part of Tecorrec. *
3 * Copyright 2008 James Hogan <james@albanarts.com> *
4 * *
5 * Tecorrec is free software: you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation, either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * Tecorrec is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with Tecorrec. If not, write to the Free Software Foundation, *
17 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
18 ***************************************************************************/
20 /**
21 * @file tcMainWindow.h
22 * @brief Main application window.
25 #include "tcMainWindow.h"
26 #include "tcViewportWidget.h"
27 #include <tcGlobe.h>
29 #include <QDockWidget>
30 #include <QWidget>
31 #include <QHBoxLayout>
32 #include <QRadioButton>
33 #include <QSlider>
36 * Constructors + destructor
39 /// Default constructor.
40 tcMainWindow::tcMainWindow()
41 : QMainWindow()
42 , m_viewport(new tcViewportWidget(this))
43 , m_globe(new tcGlobe(6378.1e3))
45 m_viewport->setGlobe(m_globe);
46 setCentralWidget(m_viewport);
48 // Docker for elevation data settings
49 QDockWidget* dockElevation = new QDockWidget(tr("Elevation Data"), this);
50 QWidget* dockElevationWidget = new QWidget(dockElevation);
51 QVBoxLayout* layout = new QVBoxLayout(dockElevationWidget);
52 dockElevation->setWidget(dockElevationWidget);
53 addDockWidget(Qt::LeftDockWidgetArea, dockElevation);
55 // Radio buttons
56 QRadioButton* elevFlat = new QRadioButton(tr("Don't Show Elevation (Flat)"), dockElevationWidget);
57 layout->addWidget(elevFlat);
58 connect(elevFlat, SIGNAL(pressed()), m_viewport, SLOT(setElevationFlat()));
59 QRadioButton* elevRaw = new QRadioButton(tr("Raw SRTM Elevation Data"), dockElevationWidget);
60 layout->addWidget(elevRaw);
61 elevRaw->setChecked(true);
62 connect(elevRaw, SIGNAL(pressed()), m_viewport, SLOT(setElevationRaw()));
63 QRadioButton* elevCorrected = new QRadioButton(tr("Corrected SRTM Elevation Data"), dockElevationWidget);
64 layout->addWidget(elevCorrected);
65 connect(elevCorrected, SIGNAL(pressed()), m_viewport, SLOT(setElevationCorrected()));
66 QSlider* elevCorrectionLevel = new QSlider(Qt::Horizontal, dockElevationWidget);
67 layout->addWidget(elevCorrectionLevel);
68 elevCorrectionLevel->setRange(0,100);
69 connect(elevCorrectionLevel, SIGNAL(valueChanged(int)), m_viewport, SLOT(setElevationCorrection(int)));
72 /// Destructor.
73 tcMainWindow::~tcMainWindow()
75 delete m_globe;