VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
propertyMapTable.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
11 #include <vlutil/vlString.h>
13 
14 #include <QtWidgets/QWidget>
15 #include <set>
16 
17 class DtRwPropertiesMap;
18 class QTableWidget;
19 class QVBoxLayout;
20 class QPushButton;
21 class QHBoxLayout;
23 class DtString;
24 class DtReaderWriter;
25 class QLineEdit;
26 
27 namespace makVrf
28 {
31  class DT_DLL_VRFGUICOREQT DtPropertyMapTable : public QWidget
32  {
33  Q_OBJECT
34 
35  public:
36  //CTOR
37  DtPropertyMapTable(makVrv::DtDe& de, QWidget* parent);
38 
39  //DTOR
40  virtual ~DtPropertyMapTable();
41 
43  virtual bool isValid() const;
44 
46  virtual void init(const DtRwPropertiesMap*,
47  const std::set<DtString>& ignoreColumns = std::set<DtString>());
48 
50  virtual void setToMap(DtRwPropertiesMap*);
51 
52  virtual void resizeColumnsToContents();
53 
54  virtual int minimumWidth() const;
55 
56  protected:
57  virtual double revertValue(int type, int old, QLineEdit* le) const;
58  virtual void columnHeadersFrom(const DtPropertyInterface* prototype, QStringList& columns) const;
59  virtual void fillInAndMapRwItemToTableItems(int row, int& colStart, const DtReaderWriter* rw);
60  virtual QString columnNameFrom(const DtString& str) const;
61  virtual void tableItemCreated(QLineEdit*, const DtReaderWriter*);
62  virtual void fillInKey(const DtReaderWriter* value) const;
63  virtual void setRowToStructure(int row, DtReaderWriter*);
64  virtual void setValueToReaderWriter(QLineEdit*, DtReaderWriter*) const;
65  virtual void addRow(const DtReaderWriter*);
66  virtual int columnOf(const DtString&) const;
67  virtual void resetColumnTitle(const DtString&) const;
68  virtual QString formattedValue(const DtReaderWriter* rw) const;
69  virtual void setColumnType(const DtString&, int);
70  virtual void setOrientationValidatorRange(QLineEdit*);
71  virtual void displayUnitChanged(makVrv::DtUnitConverterCollection::DisplayUnitType, int, int);
72  virtual void decimalsChanged(makVrv::DtUnitConverterCollection::DisplayUnitType);
73  virtual int convertToNative(const DtString& name, int) const;
74  virtual int convertToNative(int type, int) const;
75  virtual double convertToNative(const DtString& name, double) const;
76  virtual double convertToNative(int type, double) const;
77  virtual bool eventFilter(QObject* o, QEvent* e);
78  virtual void cellEntered(QObject*);
79 
80  signals:
81  void modified();
82 
83  protected slots:
84  virtual void onAdd();
85  virtual void onRemove();
86  virtual void onRowSelected();
87  virtual void currentCellChanged(int, int, int, int);
88 
89  public:
91  QVBoxLayout* myMainLayout;
92  QHBoxLayout* myButtonLayout;
95 
96  protected:
101  mutable std::map<DtString, int> myColumnsByRwName;
102  std::map<DtString, int> myColumnTypes;
103  std::set<DtString> myIgnoreColumns;
104  };
105 
107  {
108  public:
109  virtual DtPropertyMapTable* create(makVrv::DtDe& de, QWidget* parent);
110  };
111 
113  {
114  public:
116  virtual ~DtPropertyMapTableCreator();
117 
119  static DtPropertyMapTableCreator& instance(makVrv::DtDe&);
120  static void registerInstance( makVrv::DtDe& de, DtPropertyMapTableCreator* creator );
121 
122  virtual DtPropertyMapTable* create(QWidget* parent, const DtRwPropertiesMap* pm,
123  const std::set<DtString>& ignoreColumns = std::set<DtString>());
124 
128  virtual void registerCreator(const DtString&, DtPropertyMapTableInstanceCreator*);
129 
130  protected:
132  std::map<DtString, DtPropertyMapTableInstanceCreator*> myCreators;
133  };
134 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)