VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtMultiMapEditorWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCoreQt/vrvCoreQt.h>
13 #include <QtCore/QStringList>
14 #include <QtWidgets/QWidget>
15 #include <map>
16 
17 class QHBoxLayout;
18 class QLabel;
19 class QLineEdit;
20 class QPushButton;
21 class QTreeWidget;
22 class QTreeWidgetItem;
23 class QVBoxLayout;
24 class QAction;
25 class QMenu;
26 
27 namespace makVrv
28 {
31  class DT_DLL_VRVCOREQT DtMultiMapEditorWidget : public QWidget,
33  {
34  Q_OBJECT;
35  public:
36 
38  DtMultiMapEditorWidget(DtDe& de, QWidget* parent, Qt::WindowFlags f = 0);
39 
40  //DTOR
41  virtual ~DtMultiMapEditorWidget();
42 
44  virtual void setColumnTitles( QString keyTitle,QStringList valueTitles);
45 
47  virtual QString columnTitle(int col) const;
48 
51  virtual void setPossibleValues(const QStringList& values,int column = 1);
52 
54  const QStringList& possibleValues(int column);
55 
57  virtual void addValue(const std::string& key, const std::string& value,
58  int index = 1);
59 
61  virtual void changeValue(const std::string& key, const std::string& oldValue,
62  const std::string& value, int index = 1);
63 
65  virtual void deleteValue(const std::string& key, const std::string& value);
66 
68  virtual void deleteValues(const std::vector<std::string>& key, const std::vector<std::string>& value);
69 
72  virtual void replaceValue(const std::string& key, const std::string& oldValue,
73  const std::string& newValue);
74 
76  virtual void clearValues();
77 
79  virtual void sortItems();
80 
83  virtual void changeFilePath();
84 
86  virtual void setTitle(const QString&);
87 
89  virtual void unableToRenameParameter(const std::string& oldName);
90 
92  virtual void selectValue(const std::string& key,const std::string& value);
93 
95  virtual void selectAdditionalValue(const std::string& key, const std::string& value);
96 
98  virtual void selectFirstValue(const std::string& key);
99 
101  virtual void filterValues(const std::vector<std::string>& keys);
102 
104  virtual void filterValues(const std::vector<std::pair<std::string, std::string> >& keys);
105 
107  virtual void setAllTopLevelTreeWidgetItemsHidden(bool hide);
108 
112  virtual void renameKey(const std::string& oldkey, const std::string& value,
113  const std::string& newkey);
114 
116  virtual QWidget* widget();
117 
119  virtual std::vector<std::string> selectedInstancesNames();
120 
121  protected slots:
122 
123  virtual void on_myTreeWidget_itemActivated(QTreeWidgetItem * item, int column);
124  virtual void on_myTreeWidget_itemClicked(QTreeWidgetItem * item, int column);
125  virtual void on_myTreeWidget_itemChanged(QTreeWidgetItem * item, int column);
126  virtual void on_myAddButton_clicked();
127  virtual void on_myChangeFileButton_clicked();
128  virtual void on_myChangeFileFilterButton_clicked();
129 
130  virtual void on_myDeleteButton_clicked();
131  virtual void on_keySelected(QAction* action);
132 
133  virtual void on_myTreeWidget_itemSelectionChanged();
134 
135  void editParameterName( QString nameInData );
136 
137  protected:
138 
139  void setupGui();
140 
141  QTreeWidgetItem* findItem( const std::string& key, const std::string& value );
142  bool selectedInstanceNameAndValue(std::vector<std::string>& names, std::vector<std::string>& values) const;
143 
144  virtual void setValid(const std::string& name, const std::string& value,
145  bool valid, const QString& errorText);
146 
147  protected:
148 
150  QVBoxLayout* myMainLayout;
151  QHBoxLayout* myButtonLayout;
159 
160  typedef std::multimap<std::string,QTreeWidgetItem*> FastTreeLoopkupMap;
162  std::map<int,QStringList> myPossibleValueMap;
163  };
164 }
QTreeWidget * myTreeWidget
Definition: DtMultiMapEditorWidget.h:152
Contains makVrv::DtMultiMapEditorInterface class.
QPushButton * myChangeFileFilterButton
Definition: DtMultiMapEditorWidget.h:155
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
Contains DLL export macros.
std::map< int, QStringList > myPossibleValueMap
Definition: DtMultiMapEditorWidget.h:162
std::multimap< std::string, QTreeWidgetItem * > FastTreeLoopkupMap
Definition: DtMultiMapEditorWidget.h:160
QPushButton * myChangeFileButton
Definition: DtMultiMapEditorWidget.h:154
QPushButton * myAddButton
Definition: DtMultiMapEditorWidget.h:153
QPushButton * myDeleteButton
Definition: DtMultiMapEditorWidget.h:156
Interface of the makVrv::DtMultiMapEditorWidget for the makVrv::DtMultiMapEditorLogic.
Definition: DtMultiMapEditorInterface.h:21
QMenu * myMenu
Definition: DtMultiMapEditorWidget.h:157
QVBoxLayout * myMainLayout
Definition: DtMultiMapEditorWidget.h:150
DtDe & myDe
Definition: DtMultiMapEditorWidget.h:149
QLabel * myTitle
Definition: DtMultiMapEditorWidget.h:158
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:76
QHBoxLayout * myButtonLayout
Definition: DtMultiMapEditorWidget.h:151
FastTreeLoopkupMap myFastItemLookup
Definition: DtMultiMapEditorWidget.h:161
The widget for display string keys to multiple mapped values.
Definition: DtMultiMapEditorWidget.h:31

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)