10 #ifndef DtDisplayConfigEditorLogic_H_
11 #define DtDisplayConfigEditorLogic_H_
17 #include <QtCore/QString>
18 #include <QtGui/QStandardItem>
21 class QStandardItemModel;
30 class DtDisplayConfigEditorInterface;
31 class DtIgUserInterface;
36 const int IG_TYPE = QStandardItem::UserType + 2;
69 virtual QStandardItemModel* displayTreeModel();
71 void realizeNewDisplayEngineConfiguration(
const std::string& clientName,
75 void destroyDisplayEngine(
const std::string& displayName,
bool realized);
78 void modifyDisplayEngine(
const std::string& displayName,
bool isRealised,
const DtDisplayConfiguration& config);
84 void destroyWindow(
const std::string& displayName,
const std::string& windowName,
bool realized,
88 void modifyWindow(
const std::string& displayName,
const std::string& windowName,
92 void addChannel(
const std::string& displayName,
const std::string& windowName,
96 void destroyChannel(
const std::string& displayName,
const std::string& windowName,
97 const std::string& channelName,
bool realized);
100 void modifyChannel(
const std::string& displayName,
const std::string& windowName,
107 virtual void slot_activate(
DtDe* de);
109 virtual void slot_deactivate(
DtDe* de);
123 virtual void slot_igAdded(
const DtDeRecord& igName);
124 virtual void slot_igRemoved(
const std::string& igName);
127 virtual void slot_displayConfigurationRealized(
const std::string& igName,
128 const std::string& displayConfig);
130 virtual void slot_displayToBeDestroyed(
const std::string& displayName);
133 virtual void slot_windowToBeDestroyed(
const std::string& displayName,
const std::string& windowName);
134 virtual void slot_windowModified(
const std::string& displayName,
const std::string& windowName,
137 virtual void slot_channelAdded(
const std::string& displayName,
const std::string& windowName,
139 virtual void slot_channelToBeDestroyed(
const std::string& displayName,
const std::string& windowName,
140 const std::string& channelName);
141 virtual void slot_channelModified(
const std::string& displayName,
const std::string& windowName,
146 void onDisplayTreeSelectionChanged(
const QModelIndex& index);
149 void onDisplayTreeContextMenu(
const QModelIndex& index,
const QPoint& pos);
152 void onObserverCreationRequested(
const std::string& observerName );
161 void onDelete(
const QModelIndex& index);
162 void onNewDisplayEngine(
const QModelIndex& index);
163 void onNewWindow(
const QModelIndex& index);
164 void onNewChannel(
const QModelIndex& index);
165 void onDisconnectSlaveIg(
const QModelIndex& index);
166 void onSaveDisplayConfig(
const QModelIndex& index, std::string
filename);
167 void onLoadDisplayConfig(
const QModelIndex& index, std::string filename,
QWidget* parent);
179 void getChannelList(QStringList& channelListOut);
182 void getObserverList(QStringList& observerListOut);
185 void getSensorList(QStringList& sensorListOut);
194 void populateDisplayConfigEditor();
197 DtIgItem* findIgItem(
const QModelIndex& index);
203 DtWindowItem* findWindowItem(
const QModelIndex& index );
205 void addKeyItemPair( QString newKey, QStandardItem* item );
210 QString makeIgKey(
const std::string &igName );
211 QString makeDisplayEngineKey(
const std::string &displayName);
212 QString makeWindowKey(
const std::string &displayName,
const std::string &windowName);
213 QString makeChannelKey(
const std::string &displayName,
const std::string &windowName,
214 const std::string &channelName);
216 QString appendToKey( QString displayKey,
const std::string& windowName);
223 QStandardItem* addIgItem(
const std::string& igName,
const std::string& displayName );
226 QStandardItem* addDisplayEngineItem(QStandardItem* parent,
const QString& parentKey,
231 QStandardItem* addWindowItem(QStandardItem* parent,
const QString& parentKey,
const std::string& displayName,
235 QStandardItem* addChannelItem(QStandardItem* parent,
const QString& parentKey,
const std::string& displayName,
241 void removeItemByKey(
const QString& key);
244 void remapChildItems(QStandardItem* item,
const QString& oldParentKey,
const QString& newParentKey);
247 bool getDisplayEngineConfiguration(
const std::string& displayName,
bool isRealized,
DtDisplayConfiguration& dcOut);
250 bool getWindowConfiguration(
const std::string& displayName,
const std::string& windowName,
bool isRealized,
254 bool getChannelConfiguration(
const std::string& displayName,
const std::string& windowName,
258 const std::string& displayEngineOwner(
const std::string& displayName);
262 int flagsFromSelection(
const QModelIndex& index);
266 typedef std::map<QString, QStandardItem*>
ItemMap;