MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrAnnotationBar.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef lgrAnnotationBar_H_
11 #define lgrAnnotationBar_H_
12 
13 #include <lgrAnnotations/lgrAnn.h>
14 #include <lgrGui/overlapSlider.h>
15 #include <lgrUtil/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
DtLgrAnnotationComponent * myAnnotationComponent
Definition: lgrAnnotationBar.h:130
A slider which allows multiple boxes that can overlap.
Definition: overlapSlider.h:27
Used to manage a bar between a start and an end of a slider bar.
Definition: sliderBar.h:25
Defines INPORT/EXPORT macros for lgrGui library.
std::map< DtLgrAnnotation *, DtLgrAnnotationSliderBar * > AnnotationBarMap
Definition: lgrAnnotationBar.h:128
Represents a box within a slider.
Definition: sliderBox.h:27
AnnotationBarMap myAnnotationBars
Definition: lgrAnnotationBar.h:131
The annotation bar displays Annotation sliders and allows for easy editing.
Definition: lgrAnnotationBar.h:32
Base annotation class defines interface for all annotations.
Definition: lgrAnnotation.h:26
Contains MAKLogger::DtOverlapSlider subclass of MAKLogger::DtZoomComponent and MAKLogger::DtMultiBoxS...
Contains MAKLogger::DtAbsoluteTime and MAKLogger::DtRelativeTime classes.
DtLgrAnnotationSlots * mySlots
Definition: lgrAnnotationBar.h:133
DtLgrAnnotation * mySelectedAnnotation
Definition: lgrAnnotationBar.h:132
Creates View and Slots, and implements standard Logger GUI Component methods.
Definition: lgrAnnotationComponent.h:24
Absolute Time, a particular measured instance in time, could be thought of as a set of relative times...
Definition: absoluteTime.h:82
Annotation slots connects menu bar and annotation control.
Definition: lgrAnnotationSlots.h:29
#define DT_DLL_LGRANN
Definition: lgrAnn.h:19

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)