MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
timeBar.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
10 
11 #pragma once
12 
13 #include <lgrGui/lgrGui.h>
15 #include <lgrGui/overlapSlider.h>
17 
18 #include <lgrUtil/absoluteTime.h>
19 
20 namespace MAKLogger
21 {
22  class DtValueSmoother;
23  class DtLgrGuiModel;
24  class DtLgrTimelineWindowSliderBar;
25 
29  {
30  Q_OBJECT
31 
32  public:
34  DtTimelineBar(DtLgrGuiModel& model,QWidget* parent);
35 
37  virtual ~DtTimelineBar();
38 
39  virtual void reverseTicks(bool reverse);
40 
41  virtual DtAbsoluteTime firstTime() const;
42  virtual DtAbsoluteTime lastTime() const;
43  virtual DtAbsoluteTime currentTime() const;
44  virtual DtAbsoluteTime startTime() const;
45  virtual DtAbsoluteTime stopTime() const;
46 
47  virtual DtRelativeTime duration() const;
48  virtual DtRelativeTime playDuration() const;
49 
50  virtual int verticalMargin() const;
51 
52  virtual DtSliderBar* addTimelineWindowSlider();
53  virtual DtSliderBar* windowSlider();
54 
55  virtual DtLgrTimeBarZoomBox* timeBarZoomBox();
56  virtual void enableZoomBox(bool enable);
57 
58  virtual DtLgrGuiModel* model();
59 
60  virtual void setEmptyText(const QString& emptyText);
61 
62  public slots:
63 
64  virtual void setStartStopTimePercentages(float,float);
65 
67  virtual void testForUpdate();
68 
69  virtual void drawZoomBox();
70 
71  virtual void resizeZoomBox(int delta);
72 
73  virtual void resizeEvent(QResizeEvent *qre);
74 
75  signals:
76 
77  void wheelMoved(int);
78 
79  void drawnTimesChanged(float);
80 
81  protected:
82 
83  static DtRelativeTime textTickSize(DtRelativeTime duration);
84 
85  virtual void paintEvent( QPaintEvent* );
86  virtual void mouseReleaseEvent(QMouseEvent*);
87  virtual void mouseMoveEvent( QMouseEvent* );
88  virtual void mousePressEvent( QMouseEvent* );
89  virtual void keyPressEvent( QKeyEvent* );
90  virtual void wheelEvent(QWheelEvent *event);
91  virtual void contextMenuEvent(QContextMenuEvent * );
92  virtual void updateCurrentTime(QPoint);
93 
94  virtual void draw(QPainter& painter,const QRect& boundingRect);
95  virtual void drawBox(QPainter& painter,DtSliderBox* box);
96  virtual void drawTicks(QPainter& painter,double,double);
97  virtual void drawBackground(QPainter& painter,double ,double );
98 
99  protected:
100 
109 
113 
116 
118 
121 
122  QString myEmptyText;
123  };
124 }
125 
A slider which allows multiple boxes that can overlap.
Definition: overlapSlider.h:27
Class responsible for smoothing multiple input values and calculating an interpolated &#39;next&#39; value...
Definition: qtFloatMath.h:27
Used to manage a bar between a start and an end of a slider bar.
Definition: sliderBar.h:25
Represents a slider bar on the full time line to indicate the time window displayed in the partial ti...
Definition: lgrTimelineWindowSliderBar.h:22
Relative Time, an elapsed duration of time, no implied measurement, could be seconds/cycles or ticks ...
Definition: absoluteTime.h:28
DtLgrGuiModel * myModel
Definition: timeBar.h:117
A time line bar which is zoom able and drawable current time marker.
Definition: timeBar.h:28
Represents a box within a slider.
Definition: sliderBox.h:27
The logger GUI&#39;s model.
Definition: lgrGuiModel.h:56
QString myEmptyText
Definition: timeBar.h:122
double myDrawnFirstVisibleTime
Definition: timeBar.h:104
DtLgrTimeBarZoomBox * myTimeBarZoomBox
Definition: timeBar.h:115
bool myReverseTicks
Definition: timeBar.h:108
Contains MAKLogger::DtOverlapSlider subclass of MAKLogger::DtZoomComponent and MAKLogger::DtMultiBoxS...
DtValueSmoother * myValueSmoother
Definition: timeBar.h:112
Contains MAKLogger::DtAbsoluteTime and MAKLogger::DtRelativeTime classes.
bool myUpdateTimeFlag
Definition: timeBar.h:110
float myRightViewableOffset
Definition: timeBar.h:120
double myDrawnCurrentTime
Definition: timeBar.h:101
Contains MAKLogger::DtLgrZoomableWidget class.
int myVerticalMargin
Definition: timeBar.h:107
double myDrawnStopTime
Definition: timeBar.h:103
int myHorizontalMargin
Definition: timeBar.h:106
#define DT_DLL_LGRGUI
Definition: lgrGui.h:19
float myLeftViewableOffset
Definition: timeBar.h:119
Defines INPORT/EXPORT macros for lgrGui library.
DtLgrTimelineWindowSliderBar * myTimelineWindowSlider
Definition: timeBar.h:114
A Zoom widget. Highlights the visible timeline duration on the fulltimeline bar.
Definition: lgrTimeBarZoomBox.h:27
bool mySelectingArea
Definition: timeBar.h:111
double myDrawnLastVisibleTime
Definition: timeBar.h:105
Absolute Time, a particular measured instance in time, could be thought of as a set of relative times...
Definition: absoluteTime.h:82
double myDrawnStartTime
Definition: timeBar.h:102

Document ID: Generated on Mon Mar 22 15:30:17 EDT 2021 from SVN revision 226440
Copyright © 2021 MAK Technologies. All Rights Reserved (www.mak.com)