lgrAnnotationManager.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
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

Document ID: Generated on Tue Oct 11 19:41:03 EDT 2011 from SVN revision 107422
Copyright © 2005-2011 VT MÄK Inc. All Rights Reserved (www.mak.com)