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 );
160 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,
const std::string&
filename);
167 void onLoadDisplayConfig(
const QModelIndex& index,
const 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;
Contains makVrv::DtSubjectObserver class.
const int CHANNEL_TYPE
Definition: DtDisplayConfigEditorLogic.h:39
DtConfigItem< DISPLAY_ENGINE_TYPE > DtDisplayEngineItem
Definition: DtDisplayConfigEditorLogic.h:42
A Record of an IG instance.
Definition: DtDeRecord.h:24
The DtDisplayConfigEditorLogic is the brains behind the display configuration editor.
Definition: DtDisplayConfigEditorLogic.h:56
const int WINDOW_TYPE
Definition: DtDisplayConfigEditorLogic.h:38
DtConfigItem< CHANNEL_TYPE > DtChannelItem
Definition: DtDisplayConfigEditorLogic.h:44
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
This owns a list of channel configurations.
Definition: DtWindowConfiguration.h:31
Contains DLL export macros.
DtDisplayConfigEditorInterface * myInterface
Definition: DtDisplayConfigEditorLogic.h:269
DtSignalConnectionManager myConnections
Definition: DtDisplayConfigEditorLogic.h:273
DtDe & myDe
Definition: DtDisplayConfigEditorLogic.h:268
std::map< QString, QStandardItem * > ItemMap
Definition: DtDisplayConfigEditorLogic.h:266
const int DISPLAY_ENGINE_TYPE
Definition: DtDisplayConfigEditorLogic.h:37
This owns a list of window configurations.
Definition: DtDisplayConfiguration.h:47
DtConfigItem< WINDOW_TYPE > DtWindowItem
Definition: DtDisplayConfigEditorLogic.h:43
DtConfigItem< IG_TYPE > DtIgItem
Definition: DtDisplayConfigEditorLogic.h:41
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
const int IG_TYPE
Definition: DtDisplayConfigEditorLogic.h:36
Definition: DtDisplayConfigEditorLogic.h:34
Contains makVrv::DtDisplayConfiguration class.
The class responsible for managing communication between multiple DtDe instances typically running in...
Definition: DtDeCommunicator.h:31
Base class to provide boost signal/slot management.
QStandardItemModel * myDisplayTreeModel
Definition: DtDisplayConfigEditorLogic.h:270
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:26
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Interface for the makVrv::DtDisplatConfigEditorWidget.
Definition: DtDisplayConfigEditorInterface.h:31
ItemMap myItemMap
Definition: DtDisplayConfigEditorLogic.h:272