27 #include "ui_LayerSearchWidgetForm.h"
34 m_ui(new Ui::LayerSearchWidgetForm)
40 connect(
m_ui->m_nameLineEdit, SIGNAL(textChanged(
const QString&)), SLOT(
onFilter()));
41 connect(
m_ui->m_repAllRadioButton, SIGNAL(clicked(
bool)), SLOT(
onFilter()));
42 connect(
m_ui->m_repGeomRadioButton, SIGNAL(clicked(
bool)), SLOT(
onFilter()));
43 connect(
m_ui->m_repRstRadioButton, SIGNAL(clicked(
bool)), SLOT(
onFilter()));
59 m_ui->m_treeWidget->setSelectionMode(QAbstractItemView::MultiSelection);
63 m_ui->m_treeWidget->setSelectionMode(QAbstractItemView::SingleSelection);
69 std::list<te::map::AbstractLayerPtr> list;
71 QList<QTreeWidgetItem*> sel = m_ui->m_treeWidget->selectedItems();
73 QList<QTreeWidgetItem*>::iterator it = sel.begin();
75 while(it != sel.end())
77 QTreeWidgetItem* item = *it;
79 QVariant v = item->data(0, Qt::UserRole);
93 m_layerList = layerList;
95 fillTreeView(m_layerList);
100 m_ui->m_repRstRadioButton->setChecked(
true);
102 m_ui->m_filterByRepGroupBox->setEnabled(
false);
109 m_ui->m_repGeomRadioButton->setChecked(
true);
111 m_ui->m_filterByRepGroupBox->setEnabled(
false);
118 m_ui->m_repAllRadioButton->setChecked(
true);
120 m_ui->m_filterByRepGroupBox->setEnabled(
false);
127 std::list<te::map::AbstractLayerPtr>::iterator it = layerList.begin();
129 while(it != layerList.end())
133 QTreeWidgetItem* item =
new QTreeWidgetItem(m_ui->m_treeWidget);
134 item->setText(0, l->getTitle().c_str());
135 item->setIcon(0, QIcon::fromTheme(
"layer"));
136 item->setData(0, Qt::UserRole, QVariant::fromValue(l));
137 item->setText(1, l->getId().c_str());
138 item->setText(2, l->getType().c_str());
144 m_ui->m_treeWidget->resizeColumnToContents(0);
145 m_ui->m_treeWidget->resizeColumnToContents(2);
147 m_ui->m_treeWidget->expandAll();
152 QTreeWidgetItemIterator it(m_ui->m_treeWidget);
156 QTreeWidgetItem* layerItem = *it;
157 bool hide = items.indexOf(layerItem) == -1;
158 layerItem->setHidden(hide);
168 QString str = m_ui->m_nameLineEdit->text();
170 QList<QTreeWidgetItem*> items = m_ui->m_treeWidget->findItems(str, Qt::MatchContains | Qt::MatchRecursive, 0);
172 QList<QTreeWidgetItem*> result;
174 for(
int i = 0; i < items.size(); ++i)
176 QTreeWidgetItem* item = items.at(i);
178 QVariant v = item->data(0, Qt::UserRole);
182 std::auto_ptr<te::da::DataSetType> dsType = l->getSchema();
184 if(m_ui->m_repAllRadioButton->isChecked())
186 result.push_back(item);
188 else if(m_ui->m_repGeomRadioButton->isChecked())
190 if(dsType.get() && dsType->hasGeom())
191 result.push_back(item);
193 else if(m_ui->m_repRstRadioButton->isChecked())
195 if(dsType.get() && dsType->hasRaster())
196 result.push_back(item);
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr