00001 /****************************************************************************** 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00009 00010 #ifndef timeBarZoomControl_H_ 00011 #define timeBarZoomControl_H_ 00012 00013 #include "lgrGui.h" 00014 00015 #include "rangeSlider.h" 00016 #include "boundsSlider.h" 00017 00018 #include <absoluteTime.h> 00019 00020 namespace MAKLogger 00021 { 00022 00023 class DtTimeComponent; 00024 00027 class DT_DLL_LGRGUI DtTimeBarZoomSlider : public DtBoundsSlider 00028 { 00029 00030 public: 00031 DtTimeBarZoomSlider(DtTimeComponent* timeComponent, 00032 float start, float end, 00033 QWidget* parent); 00034 00035 virtual ~DtTimeBarZoomSlider(); 00036 00037 protected: 00038 00040 virtual void draw( ); 00041 00043 virtual void drawBar(QPainter& painter,DtSliderBar* bar) const; 00044 00045 protected: 00046 DtTimeComponent* myTimeComponent; 00047 00048 }; 00049 00052 class DT_DLL_LGRGUI DtTimeBarZoomControl : public DtRangeWidget 00053 { 00054 Q_OBJECT 00055 public: 00056 00058 DtTimeBarZoomControl(DtTimeComponent* timeComponent, 00059 QWidget* parent); 00060 00062 virtual ~DtTimeBarZoomControl(); 00063 private: 00065 DtTimeBarZoomControl(const DtTimeBarZoomControl&); 00067 DtTimeBarZoomControl& operator=(const DtTimeBarZoomControl&); 00068 public: 00069 00071 const DtTimeBarZoomSlider* zoomSlider() const; 00072 00074 virtual void getExtents(DtAbsoluteTime& start,DtAbsoluteTime& end); 00075 00076 public slots: 00077 00078 virtual void setExtents(DtAbsoluteTime start,DtAbsoluteTime end); 00079 00080 signals: 00081 //void extentsChanged(DtAbsoluteTime,DtAbsoluteTime); 00083 void zoomChanged(float,float); 00084 00085 protected slots: 00087 void emitZoom(float start,float end); 00088 00089 protected: 00090 DtTimeComponent* myTimeComponent; 00091 }; 00092 00093 } 00094 00095 #endif