VR-Forces 4.1 Class Documentation
createControlObjectHandler.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2003 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: createControlObjectHandler.h,v $ $Revision: 1.25 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef CREATECONTROLOBJECTHANDLER_H_
13 #define CREATECONTROLOBJECTHANDLER_H_
14 
16 #include "geometry/point.h"
17 #include "tmqt/eventSignaller.h"
18 
19 class DtModelData;
20 class DtSymbol;
21 class QPointArray;
23 
24 typedef QWidget* (*DtDialogCreator)(QWidget* parent, const Qt::WindowFlags& flags);
25 
27 {
28 public:
31  myKey(orig.myKey), myCreator(orig.myCreator) {};
32 
35 };
36 
40 {
41  Q_OBJECT
42 
43 public:
44 
47 
50 
51  virtual QWidget* createDialog(QWidget* parent);
52 
55  static bool addDialogCreator(const DtEntityMapperKey& key, DtDialogCreator fcn);
56 
59  static void cleanupDialogCreators();
60  virtual void setCreationObject(DtEntityMapperKey obj, int frc);
61 
64  virtual void setVertices(const QVector<DtPoint>& pnt);
65  virtual void setName(const QString& name);
66 
67  static void setDefaultNameLabel(const QString&);
68  static QString defaultNameLabel();
69 
70 public slots:
73  virtual void create(QVector<DtPoint>& points, QString name, QString label,
74  QColor color, int forceType, int appearance, bool publish,
75  QString attachTo, DtArchivableObject* userData, bool createDone = true);
76 
77  virtual void completeEdit(QString name, QString label, QColor color,
78  int forceType, int appearance, bool publish, DtArchivableObject* userData);
79  virtual void cancel();
80  virtual bool mouseEvent(DtTMMapArea* area, QMouseEvent* evnt, const DtPoint& pnt);
81  virtual void updateTempSymbol();
82  virtual void redrawSymbol();
83  virtual void clearHideSymbol();
85  virtual void done();
86 
87 signals:
88  void selectedPoint(const DtPoint& p);
89 
94  void userComplete(bool finish);
95 
96 protected:
98  virtual QWidget* createWidgetFor(const DtEntityMapperKey& key, QWidget* parent);
99 
101  virtual void setWorkingName() = 0;
102 
105  virtual void additionalTempSymbolModifications(QPolygon& pts);
106 
108  virtual void initDialog(QWidget* w);
109 
113  virtual void initDialogConnections();
114 
116  virtual void initCreateConnections();
117 
119  virtual void initEditConnections();
120 
121  virtual void pointSelected(const DtPoint& p);
122 
123  virtual void activate();
124  virtual void deactivate();
125  virtual void stop(const DtPoint& pnt);
126 
129  virtual DtSymbol* createTempSymbol(DtTMMapArea* area);
130 
131  virtual DtSymbol* createSymbol(DtTMMapArea* area);
132 
133  virtual void getVertices(QVector<DtPoint>& modelPoints) const;
134 
135  virtual bool canPublish() const;
136  virtual bool isPublished() const;
137 
139  virtual void setCaption(QWidget* w);
140 
142  virtual QString defaultName() const;
143 
145  virtual void sendUserComplete(bool finish = false);
146 
147  virtual bool userDefinedAction(DtUserDefinedType iAction, void* usr);
148 
151  virtual bool complete() const;
152 
154  virtual bool finishOnCreate() const;
155 
156  virtual void disconnectDialogConnections();
157  virtual void disconnectEditConnections();
158  virtual void disconnectCreateConnections();
159 
161  virtual int publishedEditTimeout() const;
162 
163  virtual const char* eventSignalName() { return DtCreateControlObjectWidgetEvent; };
164 
165  virtual QPixmap createCursor();
166 
167  virtual void dialogDestroyedEvent();
168 
169 protected:
170  QVector<DtPoint> myPointList;
171  QString myObjectName;
172  QString myLabelName;
178 
182 
185  static QString theDefaultNameLabel;
186 };
187 
188 #endif //CREATECONTROLOBJECTHANDLER_H_

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)