28 #include "../../../srs/SpatialReferenceSystemManager.h" 
   30 #include <ui_SRSManagerDialogForm.h> 
   31 #include <QApplication> 
   32 #include <QMessageBox> 
   40   m_ui(new Ui::SRSManagerDialogForm)
 
   47   m_ui->m_addSRSToolButton->setIcon(QIcon::fromTheme(
"list-add"));
 
   48   m_ui->m_removeSRSToolButton->setIcon(QIcon::fromTheme(
"list-remove"));
 
   49   m_ui->m_editSRSToolButton->setIcon(QIcon::fromTheme(
"preferences-system"));
 
   59   m_ui->m_helpPushButton->setPageReference(
"widgets/srs/srs.html");
 
   62   QSettings sett(QSettings::IniFormat, QSettings::UserScope, qApp->organizationName(), qApp->applicationName());
 
   63   QString value = sett.value(
"SRSRecentlyUsed", 
"").toString();
 
   65   m_ui->m_SRSRecentTableWidget->clear();
 
   72     QStringList::const_iterator it;
 
   76       std::string auth(
"EPSG");
 
   80       m_ui->m_SRSRecentTableWidget->setItem(aux, 1, 
new QTableWidgetItem(QString::number(srid)));
 
   81       m_ui->m_SRSRecentTableWidget->setItem(aux, 2, 
new QTableWidgetItem(auth.c_str()));
 
   87   hLabels << 
"Name" << 
"ID" << 
"Authority";
 
   88   m_ui->m_SRSRecentTableWidget->setHorizontalHeaderLabels(hLabels);
 
   90   m_ui->m_SRSRecentTableWidget->resizeColumnToContents(0);
 
   91   m_ui->m_SRSRecentTableWidget->resizeColumnToContents(1);
 
   92   m_ui->m_SRSRecentTableWidget->resizeColumnToContents(2);
 
   96   QList<QTreeWidgetItem *> items;
 
   98   items.append(
new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr(
"Geoographic SRS"))));
 
   99   items.append(
new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr(
"Projected SRS"))));
 
  100   items.append(
new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr(
"User defined SRS"))));
 
  101   m_ui->m_SRSTreeWidget->insertTopLevelItems(0, items);
 
  106   while (its.first != its.second) 
 
  108     if (its.first->m_auth_name == 
"EPSG")
 
  110       if (its.first->m_auth_id < 5000)
 
  112         QTreeWidgetItem *geog = 
new QTreeWidgetItem(items[0]);
 
  113         geog->setText(0, its.first->m_name.c_str());
 
  114         geog->setText(1, QString(
"%1").arg(its.first->m_auth_id));
 
  115         geog->setText(2, 
"EPSG");
 
  119         QTreeWidgetItem *proj = 
new QTreeWidgetItem(items[1]);
 
  120         proj->setText(0, its.first->m_name.c_str());
 
  121         proj->setText(1, QString(
"%1").arg(its.first->m_auth_id));
 
  122         proj->setText(2, 
"EPSG");
 
  127       QTreeWidgetItem *userd = 
new QTreeWidgetItem(items[2]);
 
  128       userd->setText(0, its.first->m_name.c_str());
 
  129       userd->setText(1, QString(
"%1").arg(its.first->m_auth_id));
 
  130       userd->setText(2, its.first->m_auth_name.c_str());
 
  135   unsigned int ntl =  
m_ui->m_SRSTreeWidget->topLevelItemCount();
 
  136   for(
unsigned int i = 0; i < ntl; ++i)
 
  138     QTreeWidgetItem* item = 
m_ui->m_SRSTreeWidget->topLevelItem(i);
 
  139     item->setExpanded(
true);
 
  142   m_ui->m_SRSTreeWidget->resizeColumnToContents(0);
 
  143   m_ui->m_SRSTreeWidget->resizeColumnToContents(1);
 
  144   m_ui->m_SRSTreeWidget->resizeColumnToContents(2);
 
  147   m_ui->m_p4descPlainTextEdit->setLineWrapMode(QPlainTextEdit::WidgetWidth);
 
  148   QFontMetrics m (
m_ui->m_p4descPlainTextEdit->font());
 
  149   int RowHeight = m.lineSpacing() ;
 
  150   m_ui->m_p4descPlainTextEdit->setFixedHeight(3*RowHeight);
 
  170     dlg.setWindowTitle(title);
 
  172   if(dlg.exec() == QDialog::Accepted)
 
  180   QList<QTreeWidgetItem*> items = m_ui->m_SRSTreeWidget->findItems(text, Qt::MatchContains | Qt::MatchRecursive, 0);
 
  181   items.append(m_ui->m_SRSTreeWidget->findItems(text, Qt::MatchContains | Qt::MatchRecursive, 1));  
 
  188   for(
int i = 0; i < m_ui->m_SRSTreeWidget->topLevelItemCount(); ++i)
 
  190     QTreeWidgetItem* item = m_ui->m_SRSTreeWidget->topLevelItem(i);
 
  192     for(
int j = 0; j < item->childCount(); ++j)
 
  194       QTreeWidgetItem* srs = item->child(j);
 
  195       bool hide = items.indexOf(srs) == -1;
 
  196       srs->setHidden(hide);
 
  205   if (!item || item->text(1).isEmpty()) 
 
  208     m_selSrsId.second = 
"";
 
  209     m_ui->m_p4descPlainTextEdit->clear();
 
  212   m_selSrsId.first = item->text(1).toUInt();  
 
  213   m_selSrsId.second = std::string(item->text(2).toLatin1());
 
  221   QString val = m_ui->m_SRSRecentTableWidget->item(item->row(),1)->text();
 
  222   QList<QTreeWidgetItem *> ilist = m_ui->m_SRSTreeWidget->findItems(val,Qt::MatchContains|Qt::MatchRecursive, 1);
 
  225   m_ui->m_SRSTreeWidget->setCurrentItem(ilist[0]);
 
  226   onSRSTreeWidgetItemClicked(ilist[0],0);
 
  236     aux << QString::number(m_selSrsId.first);    
 
  237     for (
int i=0; (i<=3 && i<m_recentSRS.size()); ++i)
 
  238       if (QString::number(m_selSrsId.first) != m_recentSRS[i])
 
  239         aux << m_recentSRS[i];
 
  241     QString value = aux.join(
",");
 
  242     QSettings sett(QSettings::IniFormat, QSettings::UserScope, qApp->organizationName(), qApp->applicationName());
 
  243     sett.setValue(
"SRSRecentlyUsed", value);
 
  250   m_selSrsId.first = -1;  
 
  251   m_selSrsId.second = 
"";
 
  257  QMessageBox::critical(
this, 
"", tr(
"Not implemented yet!"));
 
boost::multi_index::nth_index< srs_set, 0 >::type::iterator iterator
An iterator by SRS  
 
static SpatialReferenceSystemManager & getInstance()
It returns a reference to the singleton instance. 
 
#define TE_UNKNOWN_SRS
A numeric value to represent a unknown SRS identification in TerraLib.