Go to the documentation of this file.00001
00002
00003
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