27 #include "../../dataaccess/dataset/DataSet.h" 29 #include "../SnapManager.h" 31 #include "ui_SnapOptionsDialogForm.h" 37 #include <QTableWidgetItem> 44 te::edit::SnapOptionsDialog::SnapOptionsDialog(
QWidget* parent, Qt::WindowFlags f)
46 m_ui(new
Ui::SnapOptionsDialogForm),
52 connect(m_ui->m_okPushButton, SIGNAL(pressed()),
this, SLOT(onOkPushButtonPressed()));
53 connect(m_ui->m_cancelPushButton, SIGNAL(clicked()),
this, SLOT(onCancelPushButtonClicked()));
55 m_ui->m_helpPushButton->setNameSpace(
"dpi.inpe.br.plugins");
56 m_ui->m_helpPushButton->setPageReference(
"plugins/edit/snappingtolerance.html");
75 for(std::list<te::map::AbstractLayerPtr>::const_iterator it =
m_layers.begin(); it !=
m_layers.end(); ++it)
81 for(std::size_t i = 0; i < layer->getChildrenCount(); ++i)
87 if(layer->getType() ==
"FOLDER_LAYER")
90 std::unique_ptr<te::da::DataSetType> dsType = layer->getSchema();
91 if (dsType->hasRaster())
94 int row =
m_ui->m_tableOptionsWidget->rowCount() + 1;
95 m_ui->m_tableOptionsWidget->setRowCount(row);
97 int currentRow = row - 1;
98 int currentCollumn = 0;
101 QCheckBox* enableCheckBox =
new QCheckBox(
m_ui->m_tableOptionsWidget);
104 enableCheckBox->setChecked(
true);
106 m_ui->m_tableOptionsWidget->setCellWidget(currentRow, currentCollumn++, enableCheckBox);
109 QTableWidgetItem* layerItem =
new QTableWidgetItem(layer->getTitle().c_str());
110 layerItem->setTextAlignment(Qt::AlignCenter);
111 layerItem->setFlags(Qt::ItemIsEnabled);
112 layerItem->setData(Qt::UserRole, QVariant::fromValue(layer));
113 m_ui->m_tableOptionsWidget->setItem(currentRow, currentCollumn++, layerItem);
116 QComboBox* modeComboBox =
new QComboBox(
m_ui->m_tableOptionsWidget);
117 modeComboBox->addItem(tr(
"vertex"));
118 modeComboBox->setEnabled(
false);
119 m_ui->m_tableOptionsWidget->setCellWidget(currentRow, currentCollumn++, modeComboBox);
122 QValidator *validator =
new QIntValidator(4, 100,
this);
123 QLineEdit *edit =
new QLineEdit(
m_ui->m_tableOptionsWidget);
124 edit->setValidator(validator);
133 m_ui->m_tableOptionsWidget->setCellWidget(currentRow, currentCollumn++, edit);
136 QComboBox* unitsComboBox =
new QComboBox(
m_ui->m_tableOptionsWidget);
137 unitsComboBox->addItem(tr(
"pixels"));
138 unitsComboBox->setEnabled(
false);
139 m_ui->m_tableOptionsWidget->setCellWidget(currentRow, currentCollumn++, unitsComboBox);
144 for(
int i = 0; i <
m_ui->m_tableOptionsWidget->rowCount(); ++i)
146 QCheckBox* enableCheckBox =
dynamic_cast<QCheckBox*
>(
m_ui->m_tableOptionsWidget->cellWidget(i, 0));
153 if(enableCheckBox->isChecked())
158 std::unique_ptr<te::da::DataSet> dataset(layer->getData());
This class implements geometry snap concept.
double getTolerance() const
std::unique_ptr< Ui::SnapOptionsDialogForm > m_ui
Dialog form.
double m_urx
Upper right corner x-coordinate.
void setLayers(const std::list< te::map::AbstractLayerPtr > &layers)
double m_llx
Lower left corner x-coordinate.
Q_DECLARE_METATYPE(te::map::AbstractLayerPtr) te
static SnapManager & getInstance()
It returns a reference to the singleton instance.
An Envelope defines a 2D rectangular region.
te::qt::widgets::MapDisplay * m_display
The map display associated with the tool.
virtual const te::gm::Envelope & getExtent() const
It returns the world extent showned by the MapDisplay.
void setMapDisplay(te::qt::widgets::MapDisplay *display)
void onCancelPushButtonClicked()
double m_lly
Lower left corner y-coordinate.
~SnapOptionsDialog()
Destructor.
double m_ury
Upper right corner y-coordinate.
A dialog used to configure geometry snap options.
std::list< te::map::AbstractLayerPtr > m_layers
The layer list.
void onOkPushButtonPressed()
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr