VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtDisplayConfigEditorLogic.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef DtDisplayConfigEditorLogic_H_
11 #define DtDisplayConfigEditorLogic_H_
12 
13 #include <vrvCoreQt/vrvCoreQt.h>
16 #include <map>
17 #include <QtCore/QString>
18 #include <QtGui/QStandardItem>
20 
21 class QStandardItemModel;
22 class QStandardItem;
23 class QModelIndex;
24 class QPoint;
25 
26 namespace makVrv
27 {
28 
29  class DtDe;
30  class DtDisplayConfigEditorInterface;
31  class DtIgUserInterface;
32 
33  template<int TypeId>
34  class DtConfigItem;
35 
36  const int IG_TYPE = QStandardItem::UserType + 2;
37  const int DISPLAY_ENGINE_TYPE = IG_TYPE + 1;
39  const int CHANNEL_TYPE = WINDOW_TYPE + 1;
40 
41  typedef DtConfigItem<IG_TYPE> DtIgItem;
42  typedef DtConfigItem<DISPLAY_ENGINE_TYPE> DtDisplayEngineItem;
43  typedef DtConfigItem<WINDOW_TYPE> DtWindowItem;
44  typedef DtConfigItem<CHANNEL_TYPE> DtChannelItem;
45 
46 
57  {
58 
59  public:
60 
64 
67 
69  virtual QStandardItemModel* displayTreeModel();
70 
71  void realizeNewDisplayEngineConfiguration(const std::string& clientName,
72  const DtDisplayConfiguration& dec);
73 
75  void destroyDisplayEngine(const std::string& displayName, bool realized);
76 
78  void modifyDisplayEngine(const std::string& displayName, bool isRealised, const DtDisplayConfiguration& config);
79 
81  void addWindow(const std::string& displayName, const DtWindowConfiguration& config,bool realized);
82 
84  void destroyWindow( const std::string& displayName, const std::string& windowName, bool realized,
85  DtWindowItem* windowItem);
86 
88  void modifyWindow(const std::string& displayName, const std::string& windowName,
89  const DtWindowConfiguration& config, bool isRealized);
90 
92  void addChannel(const std::string& displayName, const std::string& windowName,
93  const DtChannelConfiguration& config, bool isRealized);
94 
96  void destroyChannel(const std::string& displayName, const std::string& windowName,
97  const std::string& channelName, bool realized);
98 
100  void modifyChannel(const std::string& displayName, const std::string& windowName,
101  const std::string& channelName, const DtChannelConfiguration& config, bool realized);
102 
103  //
105  //
106 
107  virtual void slot_activate(DtDe* de);
108 
109  virtual void slot_deactivate(DtDe* de);
110 
111  virtual void slot_activate(DtDeCommunicator* igComm);
112 
113  virtual void slot_deactivate(DtDeCommunicator* igComm);
114 
115  //
117  //
118 
120 
121 
122 
123  virtual void slot_igAdded(const DtDeRecord& igName);
124  virtual void slot_igRemoved(const std::string& igName);
125 
126 
127  virtual void slot_displayConfigurationRealized(const std::string& igName,
128  const std::string& displayConfig);
129 
130  virtual void slot_displayToBeDestroyed(const std::string& displayName);
131 
132  virtual void slot_windowAdded(const std::string& displayName, const DtWindowConfiguration& wc);
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,
135  const DtWindowConfiguration& wc);
136 
137  virtual void slot_channelAdded(const std::string& displayName, const std::string& windowName,
138  const DtChannelConfiguration& wc);
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,
142  const std::string& channelName, const DtChannelConfiguration& cc);
144 
146  void onDisplayTreeSelectionChanged(const QModelIndex& index);
147 
149  void onDisplayTreeContextMenu(const QModelIndex& index, const QPoint& pos);
150 
152  void onObserverCreationRequested( const std::string& observerName );
153 
154 
155  //
157  //
158 
160 
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);
169 
171 
172 
173  void onModifyConfiguration(const QModelIndex& index, const DtWindowConfiguration& config);
174  void onModifyConfiguration(const QModelIndex& index, const DtDisplayConfiguration& config);
175  void onModifyConfiguration(const QModelIndex& index, const DtChannelConfiguration& config);
177 
179  void getChannelList(QStringList& channelListOut);
180 
182  void getObserverList(QStringList& observerListOut);
183 
185  void getSensorList(QStringList& sensorListOut);
186 
187  protected:
188 
191 
194  void populateDisplayConfigEditor();
195 
197  DtIgItem* findIgItem( const QModelIndex& index);
198 
200  DtDisplayEngineItem* findDisplayEngineItem( const QModelIndex& index);
201 
203  DtWindowItem* findWindowItem( const QModelIndex& index );
204 
205  void addKeyItemPair( QString newKey, QStandardItem* item );
206 
207  const DtDisplayConfiguration* findDisplayConfiguration( DtDisplayEngineItem* displayEngineItem );
208  const DtDisplayConfiguration* findDisplayConfiguration( const std::string& displayName );
209 
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);
215 
216  QString appendToKey( QString displayKey, const std::string& windowName);
217 
218  DtDisplayConfiguration createNewDisplayEngineConfiguration();
219  DtWindowConfiguration createNewWindowConfigurtion(const DtDisplayConfiguration&);
220  DtChannelConfiguration createNewChannel(const DtWindowConfiguration&);
221 
223  QStandardItem* addIgItem( const std::string& igName, const std::string& displayName );
224 
226  QStandardItem* addDisplayEngineItem(QStandardItem* parent, const QString& parentKey,
227  const DtDisplayConfiguration& dec);
228 
231  QStandardItem* addWindowItem(QStandardItem* parent, const QString& parentKey, const std::string& displayName,
232  const DtWindowConfiguration& wc);
233 
235  QStandardItem* addChannelItem(QStandardItem* parent, const QString& parentKey, const std::string& displayName,
236  const DtChannelConfiguration& cc);
237 
241  void removeItemByKey(const QString& key);
242 
244  void remapChildItems(QStandardItem* item, const QString& oldParentKey, const QString& newParentKey);
245 
247  bool getDisplayEngineConfiguration(const std::string& displayName, bool isRealized,DtDisplayConfiguration& dcOut);
248 
250  bool getWindowConfiguration(const std::string& displayName, const std::string& windowName, bool isRealized,
251  DtWindowConfiguration& vcOut);
252 
254  bool getChannelConfiguration(const std::string& displayName, const std::string& windowName,
255  const std::string& channelName, bool realized,DtChannelConfiguration& ccOut);
256 
258  const std::string& displayEngineOwner(const std::string& displayName);
259 
262  int flagsFromSelection( const QModelIndex& index);
263 
264  protected:
265 
266  typedef std::map<QString, QStandardItem*> ItemMap;
267 
270  QStandardItemModel* myDisplayTreeModel;
271 
274  };
275 }
276 
277 #endif
278 

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)