27 #include "../../../maptools/Utils.h" 28 #include "../../widgets/tools/Pan.h" 29 #include "../../widgets/tools/ZoomWheel.h" 30 #include "../canvas/Canvas.h" 31 #include "../canvas/MultiThreadMapDisplay.h" 33 #include "ui_OverlayWidgetForm.h" 37 te::qt::widgets::OverlayWidget::OverlayWidget(
QWidget* parent, Qt::WindowFlags f)
39 m_ui(new
Ui::OverlayWidgetForm),
40 m_panTool(
nullptr), m_zoomTool(
nullptr),
41 m_draft(
nullptr), m_draftOriginal(
nullptr)
46 m_ui->m_applyToolButton->setIcon(QIcon::fromTheme(
"check"));
47 connect(m_ui->m_applyToolButton, SIGNAL(clicked()),
this, SLOT(onApplyToolButtonClicked()));
48 connect(m_ui->m_opacityHorizontalSlider, SIGNAL(valueChanged(
int)),
this, SLOT(onOpacityChanged(
int)));
49 connect(m_ui->m_verticalSlider, SIGNAL(valueChanged(
int)),
this, SLOT(onVSliderChanged(
int)));
50 connect(m_ui->m_horizontalSlider, SIGNAL(valueChanged(
int)),
this, SLOT(onHSliderChanged(
int)));
51 connect(m_ui->m_hideToolButton, SIGNAL(toggled(
bool)),
this, SLOT(onHideToolButtonClicked(
bool)));
54 QGridLayout* displayLayout =
new QGridLayout(m_ui->m_widget);
56 displayLayout->addWidget(m_mapDisplay);
57 displayLayout->setContentsMargins(0,0,0,0);
59 connect(m_mapDisplay, SIGNAL(extentChanged()),
this, SLOT(onMapDisplayExtentChanged()));
65 m_mapDisplay->installEventFilter(m_panTool);
66 m_mapDisplay->installEventFilter(m_zoomTool);
83 std::list<te::map::AbstractLayerPtr>::iterator it = layerList.begin();
85 while(it != layerList.end())
89 m_ui->m_upperComboBox->addItem(l->getTitle().c_str(), QVariant::fromValue(l));
90 m_ui->m_lowerComboBox->addItem(l->getTitle().c_str(), QVariant::fromValue(l));
99 int lowerIdx =
m_ui->m_lowerComboBox->currentIndex();
100 QVariant lowerV =
m_ui->m_lowerComboBox->itemData(lowerIdx, Qt::UserRole);
104 std::list<te::map::AbstractLayerPtr> list;
105 list.push_back(lowerLayer);
115 int upperIdx =
m_ui->m_upperComboBox->currentIndex();
116 QVariant upperV =
m_ui->m_upperComboBox->itemData(upperIdx, Qt::UserRole);
122 m_draft->fill(Qt::transparent);
127 canvas.setWindow(env.m_llx, env.m_lly, env.m_urx, env.m_ury);
137 int upperIdx =
m_ui->m_upperComboBox->currentIndex();
138 QVariant upperV =
m_ui->m_upperComboBox->itemData(upperIdx, Qt::UserRole);
144 m_draft->fill(Qt::transparent);
150 canvas.setWindow(env.m_llx, env.m_lly, env.m_urx, env.m_ury);
171 m_draft->fill(Qt::transparent);
182 if(
m_ui->m_hideToolButton->isChecked())
187 m_draft->fill(Qt::transparent);
190 p.setOpacity(
m_ui->m_opacityHorizontalSlider->value() / 255.);
191 p.drawImage(0, 0, img, 0, 0,
m_ui->m_horizontalSlider->value(),
m_ui->m_verticalSlider->value());
An Envelope defines a 2D rectangular region.
virtual int getSRID() const
It return the Spatial Reference System used by the Map Display.
virtual const te::gm::Envelope & getExtent() const
It returns the world extent showned by the MapDisplay.
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr