30 #include "ui_LayerSelectorWidgetForm.h"
36 m_ui(new
Ui::LayerSelectorWidgetForm)
41 m_ui->m_layerSearchToolButton->setIcon(QIcon::fromTheme(
"zoom"));
63 m_layerSearchDlg->getWidget()->setList(layerList);
65 m_layerList = layerList;
68 m_ui->m_layerComboBox->clear();
72 else if(fo == FILTER_BY_GEOM)
74 else if(fo == FILTER_BY_RASTER)
77 if(m_ui->m_layerComboBox->count() != 0)
78 onLayerComboBoxActivated(0);
83 m_layerSearchDlg->getWidget()->filterOnlyByRaster();
85 std::list<te::map::AbstractLayerPtr>::iterator it = m_layerList.begin();
87 while(it != m_layerList.end())
91 std::auto_ptr<te::da::DataSetType> dsType = l->getSchema();
93 if(dsType.get() && dsType->hasRaster())
94 m_ui->m_layerComboBox->addItem(it->get()->getTitle().c_str(), QVariant::fromValue(l));
102 m_layerSearchDlg->getWidget()->filterOnlyByGeom();
104 std::list<te::map::AbstractLayerPtr>::iterator it = m_layerList.begin();
106 while(it != m_layerList.end())
110 std::auto_ptr<te::da::DataSetType> dsType = l->getSchema();
112 if(dsType.get() && dsType->hasGeom())
113 m_ui->m_layerComboBox->addItem(it->get()->getTitle().c_str(), QVariant::fromValue(l));
121 m_layerSearchDlg->getWidget()->filterAll();
123 std::list<te::map::AbstractLayerPtr>::iterator it = m_layerList.begin();
125 while(it != m_layerList.end())
129 m_ui->m_layerComboBox->addItem(it->get()->getTitle().c_str(), QVariant::fromValue(l));
137 if(m_layerSearchDlg->exec() == QDialog::Accepted)
139 std::list<te::map::AbstractLayerPtr> list = m_layerSearchDlg->getWidget()->getSelecteds();
146 int size = m_ui->m_layerComboBox->count();
148 for(
int i = 0; i < size; ++i)
150 QVariant varLayer = m_ui->m_layerComboBox->itemData(i, Qt::UserRole);
155 m_ui->m_layerComboBox->setCurrentIndex(i);
157 onLayerComboBoxActivated(i);
168 QVariant varLayer = m_ui->m_layerComboBox->itemData(index, Qt::UserRole);
171 emit layerSelected(l);
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr