Go to the documentation of this file.00001
00002
00003
00004
00005
00008
00009 #ifndef lgrAnnotationManager_H_
00010 #define lgrAnnotationManager_H_
00011
00012 #include "lgrAnn.h"
00013
00014 #include <list>
00015 #include <set>
00016
00017 class DtEnvironment;
00018
00019 namespace MAKLogger
00020 {
00021 class DtAbsoluteTime;
00022 class DtLgrAnnotation;
00023 class DtLgrAnnotationSlots;
00024 class DtLgrAnnotationBaseView;
00025 class DtRelativeTime;
00026
00028 class DT_DLL_LGRANN DtLgrAnnotationManager
00029 {
00030 public:
00031 typedef std::list<DtLgrAnnotation*> AnnotationList;
00032
00033 DtLgrAnnotationManager();
00034
00035 virtual ~DtLgrAnnotationManager();
00036
00037 private:
00039 DtLgrAnnotationManager(const DtLgrAnnotationManager&);
00041 DtLgrAnnotationManager& operator=(const DtLgrAnnotationManager&);
00042 public:
00043
00045 virtual void setAllowChanges(bool allowed);
00046
00048 virtual bool allowChanges() const;
00049
00052 virtual void addAnnotation(DtLgrAnnotation* annotation);
00053
00055 virtual void removeAnnotation(DtLgrAnnotation* annotation);
00056
00058 virtual void clearAnnotations();
00059
00062 virtual void deleteTimeRange(const DtAbsoluteTime& start,
00063 const DtAbsoluteTime& end);
00064
00066 virtual void moveTimeRange(const DtAbsoluteTime& start,
00067 const DtAbsoluteTime& end, const DtRelativeTime& offset);
00068
00070 virtual void annotationsStartingAt(DtAbsoluteTime,AnnotationList& output);
00071
00073 virtual void annotationsEndingAt(DtAbsoluteTime,AnnotationList& output);
00074
00077 virtual void annotationsDuring(DtAbsoluteTime,AnnotationList& output);
00078
00080 virtual const AnnotationList& annotations();
00081
00084 virtual void annotationChanged(DtLgrAnnotation* annotation);
00085
00087 virtual void annotationsChanged();
00088
00090 virtual bool isAnnotationStateSaved() const;
00091
00093 virtual void saveAnnotationState(DtEnvironment environment);
00094
00101 virtual void setAnnotationState(const DtEnvironment environment,
00102 bool clear = true);
00103
00106 virtual void addView(DtLgrAnnotationBaseView* view);
00107
00110 virtual void removeView(DtLgrAnnotationBaseView* view);
00111
00113 virtual void annotationsSaved();
00114
00116 virtual bool autoLoad() const;
00117
00120 virtual void setAutoLoad( bool autoLoad );
00121
00123 virtual bool empty() const;
00124
00125 protected:
00126
00128 AnnotationList myAnnotations;
00129
00134 bool myAnnotationStateSaved;
00135
00136 bool myUnlockedState;
00137
00139 typedef std::set<DtLgrAnnotationBaseView*> ViewSet;
00140
00142 ViewSet myViews;
00143
00144 bool myAutoLoadFlag;
00145
00146 };
00147 }
00148
00149 #endif