Go to the documentation of this file.00001
00002
00003
00004
00005
00009
00010 #ifndef lgrAnnotationBar_H_
00011 #define lgrAnnotationBar_H_
00012
00013 #include "lgrAnn.h"
00014 #include "overlapSlider.h"
00015 #include "absoluteTime.h"
00016
00017 #include <map>
00018
00019 class QContextMenuEvent;
00020
00021 namespace MAKLogger
00022 {
00023
00024 class DtLgrAnnotationComponent;
00025 class DtLgrAnnotation;
00026 class DtSliderBar;
00027 class DtLgrAnnotationSliderBar;
00028 class DtLgrAnnotationSlots;
00029
00032 class DT_DLL_LGRANN DtLgrAnnotationBar : public DtOverlapSlider
00033 {
00034 Q_OBJECT
00035
00036 public:
00037 DtLgrAnnotationBar(DtLgrAnnotationComponent*,
00038 QWidget* p);
00039
00041 virtual ~DtLgrAnnotationBar();
00042
00043 private:
00045 DtLgrAnnotationBar(const DtLgrAnnotationBar&);
00047 DtLgrAnnotationBar& operator=(const DtLgrAnnotationBar&);
00048 public:
00049
00051 void connectSlots(DtLgrAnnotationSlots* annSlots);
00052
00054 virtual void addAnnotation(DtLgrAnnotation* annotation);
00055
00057 virtual void removeAnnotation(DtLgrAnnotation* annotation);
00058
00060 virtual void updateAnnotation(DtLgrAnnotation* annotation);
00061
00063 virtual void clearAnnotations();
00064
00067 virtual DtLgrAnnotation* selectedAnnotation();
00068
00070 virtual void selectBar(DtSliderBar* bar);
00071
00073 virtual void unselectAll();
00074
00075 public slots:
00076
00078 virtual void selectAnnotation(DtLgrAnnotation* annotation);
00079
00081 virtual void timesChanged();
00082
00084 virtual void barMoved(DtSliderBar*);
00085
00087 virtual void barSizeChanged(DtSliderBar*);
00088
00089 signals:
00090
00091 virtual void attemptModifyAnnotation();
00092
00093
00094
00095 virtual void selectedAnnotationChanged(DtLgrAnnotation* annotation);
00096
00097 protected:
00098
00099 virtual void draw(QPainter& painter,QRect boundingRect);
00100
00102 virtual void drawBox(QPainter& painter,DtSliderBox* box) const;
00103
00105 void updateRanges();
00106
00109 virtual void showAnnotationActionMenu(QPoint position);
00110
00112 virtual void showSelectAnnotationMenu(QPoint position);
00113
00115 virtual void mouseDoubleClickEvent( QMouseEvent * );
00116
00117 virtual void contextMenuEvent(QContextMenuEvent* event);
00118
00120 virtual void drawBar(QPainter& painter,DtSliderBar* bar) const;
00121
00122 protected:
00123
00124
00125 virtual void barToTimes(const DtSliderBar* bar,DtAbsoluteTime& firstTime,
00126 DtAbsoluteTime& lastTime);
00127
00128 typedef std::map<DtLgrAnnotation*, DtLgrAnnotationSliderBar*> AnnotationBarMap;
00129
00130 DtLgrAnnotationComponent* myAnnotationComponent;
00131 AnnotationBarMap myAnnotationBars;
00132 DtLgrAnnotation* mySelectedAnnotation;
00133 DtLgrAnnotationSlots* mySlots;
00134 };
00135
00136 }
00137
00138 #endif