Qt Virtual Chart Table (QVCT)
CInstrumentGAHorizontalSituation.hpp
Go to the documentation of this file.
1 // INDENTING (emacs/vi): -*- mode:c++; tab-width:2; c-basic-offset:2; intent-tabs-mode:nil; -*- ex: set tabstop=2 expandtab:
2 
3 /*
4  * Qt Virtual Chart Table (QVCT)
5  * Copyright (C) 2012 Cedric Dufour <http://cedric.dufour.name>
6  * Author: Cedric Dufour <http://cedric.dufour.name>
7  *
8  * The Qt Virtual Chart Table (QVCT) is free software:
9  * you can redistribute it and/or modify it under the terms of the GNU General
10  * Public License as published by the Free Software Foundation, Version 3.
11  *
12  * The Qt Virtual Chart Table (QVCT) is distributed in the hope
13  * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
14  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15  *
16  * See the GNU General Public License for more details.
17  */
18 
19 #ifndef QVCT_CINSTRUMENTGAHORIZONTALSITUATION_HPP
20 #define QVCT_CINSTRUMENTGAHORIZONTALSITUATION_HPP
21 
22 // QT
23 #include <QTransform>
24 #include <QWidget>
25 
26 // QVCT
28 #include "units/CUnitElevation.hpp"
29 class CVesselCockpit;
30 
31 
33 
43 {
44 
45  //------------------------------------------------------------------------------
46  // FIELDS
47  //------------------------------------------------------------------------------
48 private:
58  QPixmap qPixmapBuffer;
59 
66 
69 
70 
71  //------------------------------------------------------------------------------
72  // CONSTRUCTORS / DESTRUCTOR
73  //------------------------------------------------------------------------------
74 
75 public:
78 
79 
80  //------------------------------------------------------------------------------
81  // METHODS: QWidget (implement/override)
82  //------------------------------------------------------------------------------
83 
84 protected:
85  virtual void mouseReleaseEvent( QMouseEvent* _pqMouseEvent );
86  virtual void mouseDoubleClickEvent( QMouseEvent* _pqMouseEvent );
87 
88 
89  //------------------------------------------------------------------------------
90  // METHODS: CInstrument (implement/override)
91  //------------------------------------------------------------------------------
92 
93  // OTHER
94 private:
95  virtual void draw();
96 
97 
98  //------------------------------------------------------------------------------
99  // METHODS
100  //------------------------------------------------------------------------------
101 
102  // OTHER
103 private:
104  void drawStatic();
105  void drawDynamic( const CVesselPoint* _poVesselPoint, const CPointerPoint* _poPointerPoint );
106 
107 };
108 
109 #endif // QVCT_CINSTRUMENTGAHORIZONTALSITUATION_HPP
(Geographical) Position data [long,lat,elev]
General aviation horizontal situation indicator / HSI (instrument)
QPixmap qPixmapBufferBackground
Pixmap buffer used to render and cache the instrument's (static) background.
QPixmap qPixmapBufferForeground
Pixmap buffer used to render and cache the instrument's (static) foreground.
CDataPosition oPositionTarget
Target (position) for which the last rendering was achieved.
CInstrumentGAHorizontalSituation(CVesselCockpit *_poVesselCockpit)
virtual void mouseDoubleClickEvent(QMouseEvent *_pqMouseEvent)
QPixmap qPixmapBufferBearing
Pixmap buffer used to render and cache the instrument's (static) bearing corona.
QPixmap qPixmapBuffer
Pixmap buffer used to render and cache the instrument.
double fdBearingVessel
(Vessel) bearing at which the last rendering was achieved
void drawDynamic(const CVesselPoint *_poVesselPoint, const CPointerPoint *_poPointerPoint)
bool bForceRedraw
Forces the redraw of the instrument (not matter its cache content)
QPixmap qPixmapBufferTarget
Pixmap buffer used to render and cache the instrument's (static) target indicator.
virtual void draw()
Draws the instrument (resets if the vessel is undefined)
virtual void mouseReleaseEvent(QMouseEvent *_pqMouseEvent)
Generic instrument.
Definition: CInstrument.hpp:39
[UI] Pointer overlay point (item)
[UI] Generic vessel's cockpit view (window)
[UI] Vessel overlay point (item) / vessel