![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: circleResizingHandler.h,v $ $Revision: 1.12 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef CIRCLERESIZINGHANDLER_H_ 00013 #define CIRCLERESIZINGHANDLER_H_ 00014 00015 #include "tmqt/eventHandler.h" 00016 #include "symbolMapper/modelKey.h" 00017 00018 class DtResizableCircleSymbol; 00019 class QPoint; 00020 class DtTMMapArea; 00021 class DtModelData; 00022 class DtSymbol; 00023 00027 #include "tmEventHandler/tmEventHandlerDefines.h" 00028 class DT_DLL_tmEventHandler DtCircleResizingHandler : public DtEventHandler 00029 { 00030 Q_OBJECT 00031 00032 public: 00033 00035 DtCircleResizingHandler(); 00036 00038 virtual ~DtCircleResizingHandler(); 00039 00040 public: 00042 static DtEventHandler* create(DtEventController* owner, void* usr); 00043 00044 bool accepted() const; 00045 00047 virtual void circleMove(DtTMMapArea* area, DtModelData* data, const DtPoint& delta); 00048 00049 public slots: 00050 00051 virtual bool mouseEvent(DtTMMapArea* area, QMouseEvent* evnt, const DtPoint& pnt); 00052 virtual bool keyboardEvent(DtTMMapArea* area, QKeyEvent* evnt); 00053 virtual void originalDestroyed(); 00054 virtual void resizeSymbolDestroyed(); 00055 virtual void removeTempSymbol(); 00056 00057 virtual void done(); 00058 00059 protected: 00060 virtual bool cancelSizing(); 00061 virtual void resizeObject(const QPoint* origin, const QPoint* endPt); 00062 virtual DtResizableCircleSymbol* circleSymbol(DtTMMapArea*, const DtModelKey&); 00063 virtual DtResizableCircleSymbol* circleSymbol(DtSymbol* sym); 00064 virtual DtSymbol* createTempSymbol(DtSymbol* symbol); 00065 virtual void initializeResize(DtTMMapArea* area, DtModelData* data); 00066 00068 virtual void backup(); 00069 virtual void restore(); 00070 00072 virtual void acceptChanges(bool completeToMapArea = true); 00073 00075 virtual void setModelDataFromSymbol(const QList<int>* indices = NULL); 00076 virtual void computeMovePoints(QPoint* points[2], DtTMMapArea* area, DtModelData* data, const DtPoint& delta); 00077 00078 protected: 00079 DtTMMapArea* myMapArea; 00080 DtModelData* myModelData; 00081 DtSymbol* myResizeSymbol; 00082 DtSymbol* myHideSymbol; 00083 00084 QVector<DtPoint> myBackupPoints; 00085 bool myBackupIsModelData; 00086 00087 bool myAccepted; 00088 }; 00089 00090 inline bool DtCircleResizingHandler::accepted() const 00091 { 00092 return myAccepted; 00093 } 00094 00095 #endif //CIRCLERESIZINGHANDLER_H_ 00096 00097