VR-Forces 4.1.1 Class Documentation
lineConfigWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 200 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: lineConfigWidget.h,v $ $Revision: 1.46 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef LINECONFIGWIDGET_H
13 #define LINECONFIGWIDGET_H
14 
15 #include "tmqt/ui_lineConfigWidgetUi.h"
17 #include "geometry/point.h"
18 
19 #include "ngutil/entityMapperKey.h"
20 
21 #include <QtCore/QList>
22 
23 class DtTMMapArea;
24 class DtSymbol;
25 class DtModelData;
26 class QLayout;
28 class DtArchivableObject;
29 class QTreeWidgetItem;
31 
35 #include "tmqt/tmqtDefines.h"
37 {
38 
39  Q_OBJECT
40 
41 public:
42 
44  DtLineConfigWidget(QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
45 
47  virtual ~DtLineConfigWidget();
48 
49  virtual bool init
50  (
51  const DtTMMapArea* converter,
52  QVector<DtPoint>* list,
53  QString* name,
54  QString* label,
55  int forceType,
56  const QString& minimumPoints,
57  const DtModelData* data,
58  bool editNotCreate = 0,
59  DtSymbol* workingSymbol = NULL,
60  const DtEntityMapperKey* key = NULL,
61  DtArchivableObject* userData = NULL
62  );
63 
64  virtual double heightOffset() const;
65 
66  static QWidget* create(QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
67 
68  bool editNotCreate() const;
69  const DtEntityMapperKey& entityMapperKey() const;
70 
71 signals:
72 
73  void updateSymbol();
74  void createActivated(QVector<DtPoint>& points, QString name,
75  QString label, QColor color, int forceType,
76  int appearance, bool publish, QString attachTo, DtArchivableObject* userData, bool lastOne = true);
77  void cancelActivated();
78  void editActivated(QString name, QString label, QColor color, int forceType,
79  int appearance, bool publish, DtArchivableObject* userData);
80  void heightOffsetChanged(double);
81 
83  void colorChanged();
84 
86  void nameChanged();
87 
90  void closing(QVector<DtPoint>*);
91  void altitudeSelectionChanged(int, double);
92 
93 public slots:
94 
95  virtual void updateUnits(const DtUnitDisplayManager* u);
96  virtual void updateCoordinateSystem(const DtCoordSys& system);
97  virtual void addPoint(const DtPoint& p);
98  virtual void editPoint(const DtPoint& p);
99  virtual void redisplayPoints();
100  virtual void cancelAndClose();
101  virtual void createAndClose();
102  virtual void editAndClose();
103  virtual void changePoint();
104  virtual void changeName(const QString& s);
105  virtual void setEditPoint(QTreeWidgetItem* item);
106  virtual void changeDefaultZPoint(double height);
107  virtual void changeAllZPoints(double h);
108  virtual void setHeightOffset(double h);
109  virtual void addPoint();
110  virtual void deletePoint();
111  virtual void selectionChanged();
112 
117  virtual void userComplete(bool finish);
118 
120  virtual void reversePoints();
121 
123  virtual void setInFreehandDrawingMode(bool);
124 
125  virtual void updateUnits(const QString&, const QString&, const QString&);
126 
127 public:
128  Ui::LineConfigWidgetUi myUiImpl;
129 
130 private:
131 
134 
136  DtLineConfigWidget& operator=(const DtLineConfigWidget& orig);
137 
138 protected:
139 
141  virtual void keyPressEvent(QKeyEvent *e);
142  virtual bool initConnections(const DtTMMapArea* area);
143  virtual void clearPointEdit();
144  virtual void addPointToList(const DtPoint& p, QTreeWidgetItem* before = NULL);
145  virtual void updateButtons();
146  virtual bool passNameCheck();
147  virtual bool shouldPublish() const;
148  virtual void updateNumPointsLabel();
149  virtual bool prepareCreateModify(QColor & color);
150 
152  virtual bool hideZValues(const DtEntityMapperKey* key);
153  virtual void hideHeightInformation();
154 
155  virtual void fillPointList();
156 
157  virtual int selectedIndex() const;
158 
160  virtual void setLabels();
161 
165  virtual bool fillPointListIfDifferent(DtPoint* curPoint = NULL);
166 
168  virtual bool initMainDialogChanges();
169 
170  virtual void closeEvent(QCloseEvent* c);
171 
172  virtual void updateOptions(DtSymbol* symbol, const DtModelData* data,
173  const DtEntityMapperKey* key);
174 
175  virtual QTreeWidgetItem* addPoint(const DtPoint& pnt, QTreeWidgetItem* before,
176  const QString& name, const QString& xtr, const QString& ystr, const QString& zstr);
177 
180  virtual QTreeWidgetItem* firstChild();
181  virtual QTreeWidgetItem* nextSibling(QTreeWidgetItem* item);
182 
183  virtual void clearListView();
184  virtual unsigned int childCount() const;
185 
186  virtual bool eventFilter(QObject *o, QEvent *e);
187 
191  virtual void reversePoints(int iStart, int iCount);
192  virtual void reversePointsInMemory(int iStart, int iCount);
193 
196  virtual void updatePointList(bool emitSignal = true);
197 
200  virtual void addPointToPointLists(DtPoint* pnt, int pos);
201  virtual void addPointToPointList(QVector<DtPoint>* list, DtPoint* pnt, int pos);
202 
205  virtual void applyChangesToPointList();
206 
207  virtual bool pointListsDifferent();
208 
209  virtual void setupZValue();
210 
211 protected:
214 
215  QVector<DtPoint>* myPointList;
216 
217  QString* myObjectNamePtr;
218  QString* myLabelPtr;
219 
221 
224 
227 
230 
232 
235 
236  bool myClosing;
237 
239 
241  QVector<DtPoint>* myOriginalList;
243 
247 
249 
251 
252  QVector<DtPoint> myCurrentList;
253 
255 };
256 
258 {
259  return myEntityMapperKey;
260 }
261 
263 {
264  return myEditNotCreate;
265 }
266 
267 #endif

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)