00001 /****************************************************************************** 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00007 00008 #ifndef lgrAnnotationComponent_H_ 00009 #define lgrAnnotationComponent_H_ 00010 00011 #include "lgrAnn.h" 00012 #include "lgrGuiComponent.h" 00013 #include "timeComponent.h" 00014 00015 namespace MAKLogger 00016 { 00017 class DtLgrAnnotationManager; 00018 class DtLgrAnnotationSlots; 00019 class DtLgrAnnotationView; 00020 class DtLoggerApplication; 00021 class DtLgrGuiModel; 00022 00024 class DT_DLL_LGRANN DtLgrAnnotationComponent : public DtLgrGuiComponent 00025 { 00026 public: 00027 00028 DtLgrAnnotationComponent(DtLoggerApplication& application); 00029 00030 virtual ~DtLgrAnnotationComponent(); 00031 00032 private: 00034 DtLgrAnnotationComponent(const DtLgrAnnotationComponent&); 00036 DtLgrAnnotationComponent& operator=(const DtLgrAnnotationComponent&); 00037 00038 public: 00039 00041 virtual void showComponent(); 00042 00044 virtual void hideComponent(); 00045 00047 // 00050 virtual QWidget* initialize(QWidget* parent); 00051 00053 virtual void activate(); 00054 00056 virtual void deactivate(); 00057 00060 // 00065 virtual bool canExit() const; 00066 00069 // 00073 virtual bool canCloseFile() const; 00074 00076 // 00080 virtual double updateTime(); 00081 00083 // 00085 virtual void update(); 00086 00087 00089 const DtLgrAnnotationView* view() const; 00090 00092 // 00096 virtual DtLgrZoomableWidget* zoomComponent(); 00097 00099 virtual DtLoggerApplication& application(); 00100 virtual const DtLoggerApplication& application() const; 00101 00103 00104 00105 virtual DtLgrGuiModel* model(); 00106 virtual const DtLgrGuiModel* model() const; 00108 00110 DtLgrAnnotationManager* manager(); 00111 00112 protected: 00113 DtLoggerApplication& myApplication; 00114 DtLgrGuiModel* myModel; 00115 DtLgrAnnotationView* myAnnotationView; 00116 DtLgrAnnotationManager* myManager; 00117 DtLgrAnnotationSlots* mySlots; 00118 bool myActivatedFlag; 00119 }; 00120 00121 } 00122 00123 #endif 00124