27 #include "../../../se/Style.h" 
   28 #include "../../../se/Symbolizer.h" 
   29 #include "../../../se/Rule.h" 
   38   : QTreeWidget(parent),
 
   42   setAlternatingRowColors(
true);
 
   43   setSelectionMode(QAbstractItemView::SingleSelection);
 
   44   setHeaderHidden(
true);
 
   45   setIconSize(QSize(16, 16));
 
   53   connect(
this, SIGNAL(itemClicked(QTreeWidgetItem*, 
int)), SLOT(
onItemClicked(QTreeWidgetItem*, 
int)));
 
   76   QTreeWidgetItem* root = 
new QTreeWidgetItem(
this, STYLE);
 
   77   root->setText(0, tr(
"Style"));
 
   79   std::size_t nRules = m_style->getRules().size();
 
   81   for(std::size_t i = 0; i < nRules; ++i) 
 
   84     const std::vector<te::se::Symbolizer*>& symbs = rule->
getSymbolizers();
 
   86     QTreeWidgetItem* ruleItem = 
new QTreeWidgetItem(root, RULE);
 
   87     ruleItem->setText(0, tr(
"Rule"));
 
   88     ruleItem->setData(0, Qt::UserRole, (
int)i);
 
   91     for(std::size_t j = 0; j < symbs.size(); ++j) 
 
   93       QTreeWidgetItem* symbItem = 
new QTreeWidgetItem(ruleItem, SYMBOLIZER);
 
   95       QString symbTypeName = tr(
"Unknown Symbol");
 
   97       std::map<QString, QString>::iterator it = m_symbolizerNames.find(symbs[j]->getType().c_str());
 
   98       if(it != m_symbolizerNames.end())
 
   99         symbTypeName = it->second;
 
  104       symbTypeName.append(
" " + count);
 
  106       symbItem->setText(0, symbTypeName);
 
  107       symbItem->setData(0, Qt::UserRole, static_cast<int>(j));
 
  112         setCurrentItem(symbItem);
 
  113         emit symbolizerClicked(symbs[j]);
 
  123   QTreeWidgetItem* selectedItem = getSelectedItem();
 
  125   if(selectedItem == 0)
 
  128   if(selectedItem->type() == RULE)
 
  129     return getRule(selectedItem);
 
  131   if(selectedItem->type() == SYMBOLIZER)
 
  132     return getRule(selectedItem->parent());
 
  139   QTreeWidgetItem* selectedItem = getSelectedItem();
 
  141   if(selectedItem != 0 && selectedItem->type() == SYMBOLIZER)
 
  142     return getSymbolizer(selectedItem);
 
  149   QTreeWidgetItem* currentItem = getSelectedItem();
 
  151   if(currentItem == 0 || currentItem->type() != SYMBOLIZER)
 
  155   std::size_t index = currentItem->data(0, Qt::UserRole).toUInt();
 
  164   swapSymbolizers(rule, index, index - 1);
 
  171   QTreeWidgetItem* currentItem = getSelectedItem();
 
  173   if(currentItem == 0 || currentItem->type() != SYMBOLIZER)
 
  180   std::size_t index = currentItem->data(0, Qt::UserRole).toUInt();
 
  186   swapSymbolizers(rule, index, index + 1);
 
  193   setIconSize(QSize(size, size));
 
  200   QTreeWidgetItem* symbolizerItem = getSelectedItem();
 
  206   QTreeWidgetItem* ruleItem = symbolizerItem->parent();
 
  210     const std::vector<te::se::Symbolizer*>& symbs = rule->
getSymbolizers();
 
  217   assert(item && item->type() == RULE);
 
  220   std::size_t index = item->data(0, Qt::UserRole).toUInt();
 
  221   assert((index >= 0) && (index < m_style->getRules().size()));
 
  223   return m_style->getRule(index);
 
  228   assert(item && item->type() == SYMBOLIZER);
 
  231   QTreeWidgetItem* parent = item->parent();
 
  238   const std::vector<te::se::Symbolizer*>& symbs = rule->
getSymbolizers();
 
  241   std::size_t index = item->data(0, Qt::UserRole).toUInt();
 
  242   assert(index >= 0 && index < symbs.size());
 
  249   QList<QTreeWidgetItem*> selected = selectedItems();
 
  254   return selected.at(0);
 
  278       emit ruleClicked(getRule(item));
 
  282       emit symbolizerClicked(getSymbolizer(item));
 
The Style defines the styling that is to be applied to a geographic dataset (vector geometries or cov...
 
A Symbolizer describes how a feature is to appear on a map. 
 
Static class used to generate preview of Symbology elements. 
 
const std::vector< Symbolizer * > & getSymbolizers() const 
 
A Rule is used to attach property/scale conditions to and group the individual symbols used for rende...
 
void setSymbolizer(std::size_t i, Symbolizer *s)
 
virtual Symbolizer * clone() const =0
It creates a new copy of this object. 
 
const Symbolizer * getSymbolizer(std::size_t i) const