27 #include "../../../common/STLUtils.h"
28 #include "../../../se/Symbolizer.h"
36 #include "ui_SymbolEditorWidgetForm.h"
39 #include <QStackedWidget>
46 m_ui(new
Ui::SymbolEditorWidgetForm),
56 QGridLayout* previewLayout =
new QGridLayout(
m_ui->m_previewGroupBox);
61 m_symbolTable->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
64 QGridLayout* symbolTableLayout =
new QGridLayout(
m_ui->m_symbolTableFrame);
65 symbolTableLayout->setContentsMargins(0, 0, 0, 0);
72 QGridLayout* stackedLayout =
new QGridLayout(
m_ui->m_propertiesGroupBox);
93 createNewSymbolizer();
96 m_ui->m_addToolButton->setIcon(QIcon::fromTheme(
"list-add"));
97 m_ui->m_removeToolButton->setIcon(QIcon::fromTheme(
"list-remove"));
98 m_ui->m_upToolButton->setIcon(QIcon::fromTheme(
"go-up"));
99 m_ui->m_downToolButton->setIcon(QIcon::fromTheme(
"go-down"));
104 m_preview->updatePreview(m_symbol);
105 m_symbolTable->updatePreview(m_symbol);
110 QWidget* symbolizerWidget = 0;
117 symbolizerWidget = pts;
125 symbolizerWidget = ls;
133 symbolizerWidget = ps;
138 m_symbolizersStackedWidget->addWidget(symbolizerWidget);
140 connect(symbolizerWidget, SIGNAL(symbolizerChanged()), SLOT(onSymbolizerChanged()));
142 m_symbolizersStackedWidget->setCurrentIndex(m_symbolizersStackedWidget->count() - 1);
148 m_symbolTable->selectSymbolizer(m_symbol->getSymbolizersCount() - 1);
154 m_symbol->swapSymbolizers(indexFirst, indexSecond);
157 QWidget* firstWidget = m_symbolizersStackedWidget->widget(indexFirst);
158 QWidget* secondWidget = m_symbolizersStackedWidget->widget(indexSecond);
159 m_symbolizersStackedWidget->insertWidget(indexFirst, secondWidget);
160 m_symbolizersStackedWidget->insertWidget(indexSecond, firstWidget);
165 createNewSymbolizer();
170 if(m_symbol->getSymbolizersCount() == 1)
173 QWidget* w = m_symbolizersStackedWidget->currentWidget();
175 int index = m_symbolizersStackedWidget->indexOf(w);
176 assert(index >= 0 && index < static_cast<int>(m_symbol->getSymbolizersCount()));
179 m_symbol->removeSymbolizer(index);
182 m_symbolizersStackedWidget->removeWidget(w);
188 m_symbolTable->selectSymbolizer(index - 1);
193 int index = m_symbolizersStackedWidget->currentIndex();
194 assert(index >= 0 && index < static_cast<int>(m_symbol->getSymbolizersCount()));
200 swapSymbolizers(index, index - 1);
205 m_symbolTable->selectSymbolizer(index - 1);
210 int index = m_symbolizersStackedWidget->currentIndex();
211 assert(index >= 0 && index < static_cast<int>(m_symbol->getSymbolizersCount()));
213 if(index == m_symbol->getSymbolizersCount() - 1)
217 swapSymbolizers(index, index + 1);
222 m_symbolTable->selectSymbolizer(index + 1);
238 int index = m_symbolizersStackedWidget->currentIndex();
239 assert(index >= 0 && index < static_cast<int>(m_symbol->getSymbolizersCount()));
241 QWidget* w = m_symbolizersStackedWidget->currentWidget();
245 m_symbol->setSymbolizer(index, static_cast<PointSymbolizerWidget*>(w)->getSymbolizer());
249 m_symbol->setSymbolizer(index, static_cast<LineSymbolizerWidget*>(w)->getSymbolizer());
253 m_symbol->setSymbolizer(index, static_cast<PolygonSymbolizerWidget*>(w)->getSymbolizer());
Enumeration that indicates the symbol type.
This class represents a symbol.