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,
147 virtual void slot_refreshIcons();
150 void onDisplayTreeSelectionChanged(
const QModelIndex& index);
153 void onDisplayTreeContextMenu(
const QModelIndex& index,
const QPoint& pos);
156 void onObserverCreationRequested(
const std::string& observerName );
164 void onDelete(
const QModelIndex& index);
166 void onNewDisplayEngine(
const QModelIndex& index);
167 void onNewWindow(
const QModelIndex& index);
168 void onNewChannel(
const QModelIndex& index);
169 void onDisconnectSlaveIg(
const QModelIndex& index);
170 void onSaveDisplayConfig(
const QModelIndex& index,
const std::string&
filename);
171 void onLoadDisplayConfig(
const QModelIndex& index,
const std::string& filename, QWidget* parent);
183 void getChannelList(QStringList& channelListOut);
186 void getObserverList(QStringList& observerListOut);
189 void getSensorList(QStringList& sensorListOut);
198 void populateDisplayConfigEditor();
201 DtIgItem* findIgItem(
const QModelIndex& index);
207 DtWindowItem* findWindowItem(
const QModelIndex& index );
209 void addKeyItemPair( QString newKey, QStandardItem* item );
214 QString makeIgKey(
const std::string &igName );
215 QString makeDisplayEngineKey(
const std::string &displayName);
216 QString makeWindowKey(
const std::string &displayName,
const std::string &windowName);
217 QString makeChannelKey(
const std::string &displayName,
const std::string &windowName,
218 const std::string &channelName);
220 QString appendToKey( QString displayKey,
const std::string& windowName);
227 QStandardItem* addIgItem(
const std::string& igName,
const std::string& displayName );
230 QStandardItem* addDisplayEngineItem(QStandardItem* parent,
const QString& parentKey,
235 QStandardItem* addWindowItem(QStandardItem* parent,
const QString& parentKey,
const std::string& displayName,
239 QStandardItem* addChannelItem(QStandardItem* parent,
const QString& parentKey,
const std::string& displayName,
245 void removeItemByKey(
const QString& key);
248 void remapChildItems(QStandardItem* item,
const QString& oldParentKey,
const QString& newParentKey);
251 bool getDisplayEngineConfiguration(
const std::string& displayName,
bool isRealized,
DtDisplayConfiguration& dcOut);
254 bool getWindowConfiguration(
const std::string& displayName,
const std::string& windowName,
bool isRealized,
258 bool getChannelConfiguration(
const std::string& displayName,
const std::string& windowName,
262 const std::string& displayEngineOwner(
const std::string& displayName);
266 int flagsFromSelection(
const QModelIndex& index);
270 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. Causes display configurations to be realized on slaves. Modifies realized display configurations.
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:26
Contains DLL export macros.
DtDisplayConfigEditorInterface * myInterface
Definition: DtDisplayConfigEditorLogic.h:273
DtSignalConnectionManager myConnections
Definition: DtDisplayConfigEditorLogic.h:277
DtDe & myDe
Definition: DtDisplayConfigEditorLogic.h:272
std::map< QString, QStandardItem * > ItemMap
Definition: DtDisplayConfigEditorLogic.h:270
const int DISPLAY_ENGINE_TYPE
Definition: DtDisplayConfigEditorLogic.h:37
This owns a list of window configurations.
Definition: DtDisplayConfiguration.h:43
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:20
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:274
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:24
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
Interface for the makVrv::DtDisplatConfigEditorWidget.
Definition: DtDisplayConfigEditorInterface.h:28
ItemMap myItemMap
Definition: DtDisplayConfigEditorLogic.h:276