00001 /****************************************************************************** 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00008 00009 #ifndef lgrAnnotation_H_ 00010 #define lgrAnnotation_H_ 00011 00012 #include "lgrAnn.h" 00013 00014 class DtEnvironment; 00015 class DtEnvObject; 00016 class DtString; 00017 00018 00019 namespace MAKLogger 00020 { 00021 class DtAbsoluteTime; 00022 class DtLgrAnnotationManager; 00023 class DtLgrAnnotationDefinition; 00024 00026 class DT_DLL_LGRANN DtLgrAnnotation 00027 { 00028 public: 00029 00031 DtLgrAnnotation(const DtLgrAnnotationDefinition* definition); 00032 virtual ~DtLgrAnnotation(); 00033 00036 const DtLgrAnnotationDefinition* definition() const; 00037 00040 virtual void addedToManager(DtLgrAnnotationManager* manager); 00041 00042 virtual const DtString& type() const = 0; 00043 00044 virtual void setName(const DtString& name) = 0; 00045 virtual const DtString& name() const = 0; 00046 00047 virtual void setText(const DtString& text) = 0; 00048 virtual const DtString& text() const = 0; 00049 00050 virtual void setStartTime(const DtAbsoluteTime& time) = 0; 00051 virtual const DtAbsoluteTime& startTime() const = 0; 00052 00053 virtual void setEndTime(const DtAbsoluteTime& time) = 0; 00054 virtual const DtAbsoluteTime& endTime() const = 0; 00055 00057 virtual void initializeFromObject(const DtEnvObject* annotationObject) = 0; 00058 00060 virtual void createObject(DtEnvironment environment) = 0; 00061 00062 00064 static bool compareNames(const DtLgrAnnotation* a,const DtLgrAnnotation* b); 00065 00066 protected: 00067 00070 virtual void annotationChanged(); 00071 00072 DtLgrAnnotationManager* myManager; 00073 00074 const DtLgrAnnotationDefinition* myTypeDefinition; 00075 }; 00076 } 00077 00078 #endif