26 #ifndef __TERRALIB_QT_WIDGETS_SE_INTERNAL_SYMBOLSELECTORDIALOG_H 27 #define __TERRALIB_QT_WIDGETS_SE_INTERNAL_SYMBOLSELECTORDIALOG_H 30 #include "../Config.h" 34 #include <QStringListIterator> 42 class QTreeWidgetItem;
48 class SymbolSelectorDialogForm;
65 class SymbolPreviewWidget;
103 SymbolSelectorDialog(
const std::vector<std::string>& fieldsNames, QWidget* parent = 0, Qt::WindowFlags f = 0);
110 Symbol* getSelectedSymbol()
const;
120 Symbol* getSymbol()
const;
124 void onCurrentItemChanged(QTreeWidgetItem* current, QTreeWidgetItem* previous);
126 void onShowSymbolInfoPushButtonPressed();
128 void onImportButtonPressed();
130 void onExportButtonPressed();
132 void onSearchLineEditTextChanged(
const QString& text);
134 void onCreateSymbolPushButtonClicked();
136 void onEditSymbolPushButtonClicked();
138 void onRemoveSymbolPushButtonClicked();
140 void onCreateGroupPushButtonClicked();
142 void onRenameGroupPushButtonClicked();
144 void onRemoveGroupPushButtonClicked();
146 void onOkPushButtonClicked();
148 void onClosePushButtonClicked();
150 void onHelpPushButtonClicked();
154 void onDragEnterEvent();
162 void filter(
const QList<QTreeWidgetItem*>& items);
165 Symbol* getSymbolFromItem(QTreeWidgetItem* item)
const;
168 QString formatSymbolInfo(
const SymbolInfo& info)
const;
171 bool addSymbol(
Symbol* symbol,
const QString& groupParentId);
178 bool updateCurrentSymbol(
Symbol* symbol);
185 bool removeSymbol(
Symbol* symbol);
192 bool eraseSymbol(
Symbol* symbol);
199 bool eraseCurrentSymbol();
202 bool addGroup(
const QString& groupName,
const QString& groupParentId);
209 bool updateCurrentGroup(
const QString& newGroupName,
const QString& groupId);
216 bool eraseGroup(
const QString& groupId);
223 bool eraseCurrentGroup();
228 QTreeWidgetItem* getSelectedItem()
const;
230 void buildTree(
SymbolNode* node, QTreeWidgetItem* parent);
232 QTreeWidgetItem* createItemFromGroup(
SymbolNode* node, QTreeWidgetItem* parent =
nullptr);
234 QTreeWidgetItem* createItemFromGroup(
SymbolNode* node, QTreeWidget* parent);
236 QTreeWidgetItem* createItemFromSymbol(
Symbol* symbol, QTreeWidgetItem* parent =
nullptr);
238 QTreeWidgetItem* createItemFromSymbol(
Symbol* symbol, QTreeWidget* parent);
240 void configItemFromSymbol(
Symbol* symbol, QTreeWidgetItem* item);
242 void enableSymbolItem(
bool enable);
244 void enableGroupItem(
bool enable);
246 QTreeWidgetItem* getCurrentGroupItem();
248 QString getCurrentGroupItemID();
250 QTreeWidgetItem* searchParentGroup(QTreeWidgetItem* item);
252 QString getSelectedItemID();
254 bool isRootItem(QTreeWidgetItem* item);
258 std::unique_ptr<Ui::SymbolSelectorDialogForm>
m_ui;
268 #endif // __TERRALIB_QT_WIDGETS_SE_INTERNAL_SYMBOLSELECTORDIALOG_H