VR-Forces 4.0.4 Class Documentation
include/tmqt/tmRubberBand.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: tmRubberBand.h,v $ $Revision: 1.24 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef TMRUBBERBAND_H
00013 #define TMRUBBERBAND_H
00014 
00015 #include <QtCore/QObject>
00016 
00017 #include "tmqt/tmViewportExtents.h"
00018 
00019 #include <QtGui/QPen>
00020 #include <QtCore/QList>
00021 
00022 #include "archiver/archiver.h"
00023 
00024 class DtTMFactory;
00025 class DtTMMiniMap;
00026 class DtTMMapArea;
00027 class DtExtent;
00028 
00029 //A rubber band is a rectangle on a minimap with an associated value
00030 //This 'class' is nothing more than a struct with the four default functions
00031 //defined (for deletion and default values)
00032 #include "tmqt/tmqtDefines.h"
00033 class DT_DLL_tmqt DtTMRubberBand : public DtArchivableObject
00034 {
00035    
00036    Q_OBJECT
00037 
00038 public:
00039 
00041    DtTMRubberBand();
00042 
00044    virtual ~DtTMRubberBand();
00045 
00047    virtual bool init(const DtTMMiniMap* m, const DtTMMapArea* a);
00048 
00051    virtual const QPen* activePen() const;
00052 
00054    virtual void setActivePen(const QPen* p);
00055    
00058    virtual const QPen* inactivePen() const;
00059 
00061    virtual void setInactivePen(const QPen* p);
00062 
00064    virtual void setPct
00065    (
00066       const double pctX,
00067       const double pctY,
00068       const double pctW,
00069       const double pctH
00070    );
00071 
00072    virtual double pctX() const;
00073    virtual void setPctX(const double d);
00074 
00075    virtual double pctY() const;
00076    virtual void setPctY(const double d);
00077 
00078    virtual double pctW() const;
00079    virtual void setPctW(const double d);
00080 
00081    virtual double pctH() const;
00082    virtual void setPctH(const double d);
00083 
00085    virtual const DtTMViewportExtents* windowViewportExtents() const;
00086 
00088    virtual void setWindowViewportExtents(const DtTMViewportExtents* v);
00089 
00091    virtual const DtTMViewportExtents& viewportExtents() const;
00092 
00093 public:
00094 
00096    static DtTMRubberBand* create();
00097 
00098 signals:
00099 
00101    void viewportExtentsSet(const DtTMViewportExtents* v);
00102 
00104    void viewportExtentsChanged(const DtTMViewportExtents* v);
00105 
00107    void rubberBandUpdated();
00108 
00110    void activePenChanged(const QPen*);
00111 
00113    void inactivePenChanged(const QPen*);
00114 
00117    void isActive(DtTMRubberBand*);
00118 
00119 public slots:
00120 
00122    virtual void setViewportExtents(const DtTMViewportExtents* v);
00123 
00125    virtual void setMinimapExtents(const DtTMViewportExtents* v);
00126 
00128    virtual void setActive();
00129 
00130 protected:
00131 
00132    virtual void resizeRectToFitAspectRatio(DtExtent& ext, DtTMViewportExtents* extents);
00133 
00135    DtTMRubberBand(const DtTMRubberBand& orig);
00136 
00138    DtTMRubberBand& operator=(const DtTMRubberBand& rhs);
00139 
00140    DtTMViewportExtents myViewportExtents;
00141 
00142    const DtTMViewportExtents* myWindowViewportExtents;
00143    
00144    QPen* myActivePen; 
00145    QPen* myInactivePen;
00146    
00147    double myPctX;
00148    double myPctY;
00149    double myPctW;
00150    double myPctH;
00151 
00152 };
00153 
00154 typedef QList<DtTMRubberBand*> DtTMRubberBandList;
00155 
00156 #endif
00157 

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)