MAK Data Logger API Documentation for DIS
lgrAnnotationBar.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef lgrAnnotationBar_H_
11 #define lgrAnnotationBar_H_
12 
13 #include "lgrAnn.h"
14 #include "overlapSlider.h"
15 #include "absoluteTime.h"
16 
17 #include <map>
18 
19 class QContextMenuEvent;
20 
21 namespace MAKLogger
22 {
23 
24  class DtLgrAnnotationComponent;
25  class DtLgrAnnotation;
26  class DtSliderBar;
27  class DtLgrAnnotationSliderBar;
28  class DtLgrAnnotationSlots;
29 
33  {
34  Q_OBJECT
35 
36  public:
38  QWidget* p);
39 
41  virtual ~DtLgrAnnotationBar();
42 
43  private:
47  DtLgrAnnotationBar& operator=(const DtLgrAnnotationBar&);
48  public:
49 
51  void connectSlots(DtLgrAnnotationSlots* annSlots);
52 
54  virtual void addAnnotation(DtLgrAnnotation* annotation);
55 
57  virtual void removeAnnotation(DtLgrAnnotation* annotation);
58 
60  virtual void updateAnnotation(DtLgrAnnotation* annotation);
61 
63  virtual void clearAnnotations();
64 
67  virtual DtLgrAnnotation* selectedAnnotation();
68 
70  virtual void selectBar(DtSliderBar* bar);
71 
73  virtual void unselectAll();
74 
75  public slots:
76 
78  virtual void selectAnnotation(DtLgrAnnotation* annotation);
79 
81  virtual void timesChanged();
82 
84  virtual void barMoved(DtSliderBar*);
85 
87  virtual void barSizeChanged(DtSliderBar*);
88 
89  signals:
90 
91  virtual void attemptModifyAnnotation();
92 
93  // Signal emitted when the selected annotation changes. If no annotation
94  // is selected, the pointer will be null.
95  virtual void selectedAnnotationChanged(DtLgrAnnotation* annotation);
96 
97  protected:
98 
99  virtual void draw(QPainter& painter,QRect boundingRect);
100 
102  virtual void drawBox(QPainter& painter,DtSliderBox* box) const;
103 
105  void updateRanges();
106 
109  virtual void showAnnotationActionMenu(QPoint position);
110 
112  virtual void showSelectAnnotationMenu(QPoint position);
113 
115  virtual void mouseDoubleClickEvent( QMouseEvent * );
116 
117  virtual void contextMenuEvent(QContextMenuEvent* event);
118 
120  virtual void drawBar(QPainter& painter,DtSliderBar* bar) const;
121 
122  protected:
123 
124 
125  virtual void barToTimes(const DtSliderBar* bar,DtAbsoluteTime& firstTime,
126  DtAbsoluteTime& lastTime);
127 
128  typedef std::map<DtLgrAnnotation*, DtLgrAnnotationSliderBar*> AnnotationBarMap;
129 
134  };
135 
136 }
137 
138 #endif

Document ID: Generated on Thu Apr 10 18:53:01 EDT 2014 from SVN revision 138105
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)