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);
 
LayerSearchWidget(QWidget *parent=0, Qt::WindowFlags f=0)
 
void setList(std::list< te::map::AbstractLayerPtr > &layerList)
 
void filterOnlyByRaster()
 
This file defines the LayerSearchWidget class. 
 
void enableMultiSelection(bool flag)
 
Q_DECLARE_METATYPE(te::map::AbstractLayerPtr)
 
Ui::LayerSearchWidgetForm * getForm() const 
 
std::list< te::map::AbstractLayerPtr > getSelecteds() const 
 
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr
 
std::auto_ptr< Ui::LayerSearchWidgetForm > m_ui
 
void filter(const QList< QTreeWidgetItem * > &items)
 
void fillTreeView(std::list< te::map::AbstractLayerPtr > &layerList)