VR-Forces 4.3 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) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtDisplayConfigEditorLogic.h,v $ $Revision: 1.43 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #ifndef DtDisplayConfigEditorLogic_H_
14 #define DtDisplayConfigEditorLogic_H_
15 
16 #include <vrvCoreQt/vrvCoreQt.h>
19 #include <map>
20 #include <QtCore/QString>
21 #include <QtGui/QStandardItem>
22 
23 class QStandardItemModel;
24 class QStandardItem;
25 class QModelIndex;
26 class QPoint;
27 
28 namespace makVrv
29 {
30 
31  class DtDe;
32  class DtDisplayConfigEditorInterface;
33  class DtIgUserInterface;
34 
35  template<int TypeId>
36  class DtConfigItem;
37 
38  const int IG_TYPE = QStandardItem::UserType + 2;
39  const int DISPLAY_ENGINE_TYPE = IG_TYPE + 1;
41  const int CHANNEL_TYPE = WINDOW_TYPE + 1;
42 
43  typedef DtConfigItem<IG_TYPE> DtIgItem;
44  typedef DtConfigItem<DISPLAY_ENGINE_TYPE> DtDisplayEngineItem;
45  typedef DtConfigItem<WINDOW_TYPE> DtWindowItem;
46  typedef DtConfigItem<CHANNEL_TYPE> DtChannelItem;
47 
48 
59  {
60 
61  public:
62 
66 
69 
71  virtual QStandardItemModel* displayTreeModel();
72 
73  void realizeNewDisplayEngineConfiguration(const std::string& clientName,
74  const DtDisplayConfiguration& dec);
75 
77  void destroyDisplayEngine(const std::string& displayName, bool realized);
78 
80  void modifyDisplayEngine(const std::string& displayName, bool isRealised, const DtDisplayConfiguration& config);
81 
83  void addWindow(const std::string& displayName, const DtWindowConfiguration& config,bool realized);
84 
86  void destroyWindow( const std::string& displayName, const std::string& windowName, bool realized,
87  DtWindowItem* windowItem);
88 
90  void modifyWindow(const std::string& displayName, const std::string& windowName,
91  const DtWindowConfiguration& config, bool isRealized);
92 
94  void addChannel(const std::string& displayName, const std::string& windowName,
95  const DtChannelConfiguration& config, bool isRealized);
96 
98  void destroyChannel(const std::string& displayName, const std::string& windowName,
99  const std::string& channelName, bool realized);
100 
102  void modifyChannel(const std::string& displayName, const std::string& windowName,
103  const std::string& channelName, const DtChannelConfiguration& config, bool realized);
104 
105  //
107  //
108 
109  virtual void slot_activate(DtDe* de);
110 
111  virtual void slot_deactivate(DtDe* de);
112 
113  virtual void slot_activate(DtDeCommunicator* igComm);
114 
115  virtual void slot_deactivate(DtDeCommunicator* igComm);
116 
117  //
119  //
120 
122 
123 
124 
125  virtual void slot_igAdded(const DtDeRecord& igName);
126  virtual void slot_igRemoved(const std::string& igName);
127 
128 
129  virtual void slot_displayConfigurationRealized(const std::string& igName,
130  const std::string& displayConfig);
131 
132  virtual void slot_displayToBeDestroyed(const std::string& displayName);
133 
134  virtual void slot_windowAdded(const std::string& displayName, const DtWindowConfiguration& wc);
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,
137  const DtWindowConfiguration& wc);
138 
139  virtual void slot_channelAdded(const std::string& displayName, const std::string& windowName,
140  const DtChannelConfiguration& wc);
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,
144  const std::string& channelName, const DtChannelConfiguration& cc);
146 
148  void onDisplayTreeSelectionChanged(const QModelIndex& index);
149 
151  void onDisplayTreeContextMenu(const QModelIndex& index, const QPoint& pos);
152 
154  void onObserverCreationRequested( const std::string& observerName );
155 
156 
157  //
159  //
160 
162 
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);
171 
173 
174 
175  void onModifyConfiguration(const QModelIndex& index, const DtWindowConfiguration& config);
176  void onModifyConfiguration(const QModelIndex& index, const DtDisplayConfiguration& config);
177  void onModifyConfiguration(const QModelIndex& index, const DtChannelConfiguration& config);
179 
181  void getChannelList(QStringList& channelListOut);
182 
184  void getObserverList(QStringList& observerListOut);
185 
187  void getSensorList(QStringList& sensorListOut);
188 
189  protected:
190 
193 
196  void populateDisplayConfigEditor();
197 
199  DtIgItem* findIgItem( const QModelIndex& index);
200 
202  DtDisplayEngineItem* findDisplayEngineItem( const QModelIndex& index);
203 
205  DtWindowItem* findWindowItem( const QModelIndex& index );
206 
207  void addKeyItemPair( QString newKey, QStandardItem* item );
208 
209  const DtDisplayConfiguration* findDisplayConfiguration( DtDisplayEngineItem* displayEngineItem );
210  const DtDisplayConfiguration* findDisplayConfiguration( const std::string& displayName );
211 
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);
217 
218  QString appendToKey( QString displayKey, const std::string& windowName);
219 
220  DtDisplayConfiguration createNewDisplayEngineConfiguration();
221  DtWindowConfiguration createNewWindowConfigurtion(const DtDisplayConfiguration&);
222  DtChannelConfiguration createNewChannel(const DtWindowConfiguration&);
223 
225  QStandardItem* addIgItem( const std::string& igName, const std::string& displayName );
226 
228  QStandardItem* addDisplayEngineItem(QStandardItem* parent, const QString& parentKey,
229  const DtDisplayConfiguration& dec);
230 
233  QStandardItem* addWindowItem(QStandardItem* parent, const QString& parentKey, const std::string& displayName,
234  const DtWindowConfiguration& wc);
235 
237  QStandardItem* addChannelItem(QStandardItem* parent, const QString& parentKey, const std::string& displayName,
238  const DtChannelConfiguration& cc);
239 
243  void removeItemByKey(const QString& key);
244 
246  void remapChildItems(QStandardItem* item, const QString& oldParentKey, const QString& newParentKey);
247 
249  bool getDisplayEngineConfiguration(const std::string& displayName, bool isRealized,DtDisplayConfiguration& dcOut);
250 
252  bool getWindowConfiguration(const std::string& displayName, const std::string& windowName, bool isRealized,
253  DtWindowConfiguration& vcOut);
254 
256  bool getChannelConfiguration(const std::string& displayName, const std::string& windowName,
257  const std::string& channelName, bool realized,DtChannelConfiguration& ccOut);
258 
260  const std::string& displayEngineOwner(const std::string& displayName);
261 
264  int flagsFromSelection( const QModelIndex& index);
265 
266  protected:
267 
268  typedef std::map<QString, QStandardItem*> ItemMap;
269 
272  QStandardItemModel* myDisplayTreeModel;
273 
275 
276  };
277 }
278 
279 #endif
280 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)