13 #ifndef DtDisplayConfigEditorLogic_H_
14 #define DtDisplayConfigEditorLogic_H_
20 #include <QtCore/QString>
21 #include <QtGui/QStandardItem>
23 class QStandardItemModel;
32 class DtDisplayConfigEditorInterface;
33 class DtIgUserInterface;
38 const int IG_TYPE = QStandardItem::UserType + 2;
71 virtual QStandardItemModel* displayTreeModel();
73 void realizeNewDisplayEngineConfiguration(
const std::string& clientName,
77 void destroyDisplayEngine(
const std::string& displayName,
bool realized);
80 void modifyDisplayEngine(
const std::string& displayName,
bool isRealised,
const DtDisplayConfiguration& config);
86 void destroyWindow(
const std::string& displayName,
const std::string& windowName,
bool realized,
90 void modifyWindow(
const std::string& displayName,
const std::string& windowName,
94 void addChannel(
const std::string& displayName,
const std::string& windowName,
98 void destroyChannel(
const std::string& displayName,
const std::string& windowName,
99 const std::string& channelName,
bool realized);
102 void modifyChannel(
const std::string& displayName,
const std::string& windowName,
109 virtual void slot_activate(
DtDe* de);
111 virtual void slot_deactivate(
DtDe* de);
125 virtual void slot_igAdded(
const DtDeRecord& igName);
126 virtual void slot_igRemoved(
const std::string& igName);
129 virtual void slot_displayConfigurationRealized(
const std::string& igName,
130 const std::string& displayConfig);
132 virtual void slot_displayToBeDestroyed(
const std::string& displayName);
135 virtual void slot_windowToBeDestroyed(
const std::string& displayName,
const std::string& windowName);
136 virtual void slot_windowModified(
const std::string& displayName,
const std::string& windowName,
139 virtual void slot_channelAdded(
const std::string& displayName,
const std::string& windowName,
141 virtual void slot_channelToBeDestroyed(
const std::string& displayName,
const std::string& windowName,
142 const std::string& channelName);
143 virtual void slot_channelModified(
const std::string& displayName,
const std::string& windowName,
148 void onDisplayTreeSelectionChanged(
const QModelIndex& index);
151 void onDisplayTreeContextMenu(
const QModelIndex& index,
const QPoint& pos);
154 void onObserverCreationRequested(
const std::string& observerName );
163 void onDelete(
const QModelIndex& index);
164 void onNewDisplayEngine(
const QModelIndex& index);
165 void onNewWindow(
const QModelIndex& index);
166 void onNewChannel(
const QModelIndex& index);
167 void onDisconnectSlaveIg(
const QModelIndex& index);
168 void onSaveDisplayConfig(
const QModelIndex& index, std::string filename);
169 void onLoadDisplayConfig(
const QModelIndex& index, std::string filename,
QWidget* parent);
181 void getChannelList(QStringList& channelListOut);
184 void getObserverList(QStringList& observerListOut);
187 void getSensorList(QStringList& sensorListOut);
196 void populateDisplayConfigEditor();
199 DtIgItem* findIgItem(
const QModelIndex& index);
205 DtWindowItem* findWindowItem(
const QModelIndex& index );
207 void addKeyItemPair( QString newKey, QStandardItem* item );
212 QString makeIgKey(
const std::string &igName );
213 QString makeDisplayEngineKey(
const std::string &displayName);
214 QString makeWindowKey(
const std::string &displayName,
const std::string &windowName);
215 QString makeChannelKey(
const std::string &displayName,
const std::string &windowName,
216 const std::string &channelName);
218 QString appendToKey( QString displayKey,
const std::string& windowName);
225 QStandardItem* addIgItem(
const std::string& igName,
const std::string& displayName );
228 QStandardItem* addDisplayEngineItem(QStandardItem* parent,
const QString& parentKey,
233 QStandardItem* addWindowItem(QStandardItem* parent,
const QString& parentKey,
const std::string& displayName,
237 QStandardItem* addChannelItem(QStandardItem* parent,
const QString& parentKey,
const std::string& displayName,
243 void removeItemByKey(
const QString& key);
246 void remapChildItems(QStandardItem* item,
const QString& oldParentKey,
const QString& newParentKey);
249 bool getDisplayEngineConfiguration(
const std::string& displayName,
bool isRealized,
DtDisplayConfiguration& dcOut);
252 bool getWindowConfiguration(
const std::string& displayName,
const std::string& windowName,
bool isRealized,
256 bool getChannelConfiguration(
const std::string& displayName,
const std::string& windowName,
260 const std::string& displayEngineOwner(
const std::string& displayName);
264 int flagsFromSelection(
const QModelIndex& index);
268 typedef std::map<QString, QStandardItem*>
ItemMap;