1 /***************************************************************************
2 * This file is part of Tecorrec. *
3 * Copyright 2008 James Hogan <james@albanarts.com> *
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. *
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. *
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 ***************************************************************************/
21 * @file tcMainWindow.h
22 * @brief Main application window.
25 #include "tcMainWindow.h"
26 #include "tcViewportWidget.h"
29 #include <QDockWidget>
31 #include <QHBoxLayout>
32 #include <QRadioButton>
36 * Constructors + destructor
39 /// Default constructor.
40 tcMainWindow::tcMainWindow()
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
);
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)));
73 tcMainWindow::~tcMainWindow()