VR-Forces 4.0.4 Class Documentation
include/tmEventHandler/vertexEditorHandler.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: vertexEditorHandler.h,v $ $Revision: 1.16 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef VERTEXEDITORHANDLER_H_
00013 #define VERTEXEDITORHANDLER_H_
00014 
00015 #include "tmqt/eventHandler.h"
00016 
00017 class DtTMMapArea;
00018 class DtLineSymbol;
00019 class DtPoint;
00020 class DtModelData;
00021 class DtSymbolSelector;
00022 class DtSymbol;
00023 
00029 #include "tmEventHandler/tmEventHandlerDefines.h"
00030 class DT_DLL_tmEventHandler DtVertexEditorHandler : public DtEventHandler
00031 {
00032    Q_OBJECT
00033 
00034 public:
00036    DtVertexEditorHandler();
00037    
00039    virtual ~DtVertexEditorHandler();
00040 
00041    virtual bool canAddPointTo(DtTMMapArea* area, DtSymbol* symbol);
00042 
00045    virtual bool canDeletePoint(DtTMMapArea* area, DtSymbol* symbol);
00046 
00048    virtual bool canMovePoint(DtTMMapArea* area, DtSymbol* line);
00049 
00050 public:
00052    static DtEventHandler* create(DtEventController* owner, void* usr);
00053 
00054 public slots:
00056    virtual void done();
00057 
00060    virtual void processAddPoint();
00061    virtual void processAddPoint(DtTMMapArea* area, DtLineSymbol* line, const DtPoint& pnt);
00062 
00064    virtual void processDeletePoint();
00065 
00066    virtual bool mouseEvent(DtTMMapArea* area, QMouseEvent* evnt, const DtPoint& pnt);
00067    virtual bool keyboardEvent(DtTMMapArea* area, QKeyEvent* evnt);
00068 
00070    virtual bool deleteSelectedPoint(DtTMMapArea* area);
00071 
00074    virtual void moveSelectedPointBy(DtTMMapArea* area, DtModelData* data, const DtPoint& delta);
00075 
00076 protected:
00077 
00079    virtual void moveSelectedPointTo(DtTMMapArea* area, const QPoint& pnt, const DtPoint& dbPoint);
00080 
00082    virtual void cancelMove();
00083 
00085    virtual void acceptMove(const QPoint& pnt, const DtPoint& dbPoint);
00086 
00089    virtual bool completeMove(const QPoint& pnt, const DtPoint& dbPoint);
00090 
00094    virtual DtSymbol* getWorkingSymbol(DtTMMapArea* area, const DtPoint* atLocation = NULL) const;
00095    virtual DtSymbol* getWorkingSymbol(DtSymbol* symbol) const;
00096    virtual DtModelData* getModelData(DtTMMapArea* area) const;
00097 
00100    virtual DtSymbol* getEditingSymbol(DtTMMapArea* area, const DtPoint* atLocation = NULL) const;
00101 
00103    virtual void createTempSymbol(DtTMMapArea* area);
00104 
00107    virtual void removeTempSymbol(DtTMMapArea* area);
00108 
00111    virtual DtSymbol* createSymbol(DtTMMapArea* area);
00112 
00114    virtual bool initializeEdit(DtTMMapArea* area);
00115 
00117    virtual void addPointTo(DtLineSymbol* symbol, const QPoint& pos);
00118 
00121    virtual int timeout() const;
00122 
00124    virtual void modifyPoint(const DtModelData& data, DtPoint& pnt);
00125 
00126    virtual void clearTimer();
00127 
00128 protected:
00129    DtSymbol*      myTempSymbol;
00130    DtTMMapArea*   myActiveMap;
00131    DtSymbol*      myWorkingSymbol;
00132    DtModelData*   myModelData;
00133    bool           myAddingPoint;
00134    QTimer*        myAcceptTimer;
00135 };
00136 
00137 #endif //VERTEXEDITORHANDLER_H_
00138 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)