00001 #ifndef Impala_Core_Database_DataDocumentListener_h 00002 #define Impala_Core_Database_DataDocumentListener_h 00003 00004 namespace Impala 00005 { 00006 namespace Core 00007 { 00008 namespace Database 00009 { 00010 00011 00012 class DataDocumentListener 00013 { 00014 public: 00015 00016 // cursor part, default is to map everything onto HandleNewFile 00017 00018 virtual void 00019 HandleNewDir() 00020 { 00021 HandleNewFile(); 00022 } 00023 00024 virtual void 00025 HandleDoneDir() 00026 { 00027 } 00028 00029 virtual void 00030 HandleNewFile() = 0; 00031 00032 virtual void 00033 HandleDoneFile() 00034 { 00035 } 00036 00037 virtual void 00038 HandleNewShot() 00039 { 00040 HandleNewFile(); 00041 } 00042 00043 virtual void 00044 HandleNewFrame() 00045 { 00046 HandleNewFile(); 00047 } 00048 00049 virtual void 00050 HandleDoneVisit() 00051 { 00052 } 00053 00054 // bookmark part 00055 00056 virtual void 00057 HandleNewBookmarked() 00058 { 00059 } 00060 00061 virtual void 00062 HandleAddedBookmark() 00063 { 00064 HandleNewBookmarked(); 00065 } 00066 00067 virtual void 00068 HandleRemovedBookmark() 00069 { 00070 HandleNewBookmarked(); 00071 } 00072 00073 virtual void 00074 HandleCursorBookmarked() 00075 { 00076 HandleNewBookmarked(); 00077 } 00078 00079 // misc 00080 00081 virtual void 00082 HandleCycleDoc() 00083 { 00084 } 00085 00086 virtual void 00087 HandleNewKey(int c, int state) 00088 { 00089 } 00090 00091 // more advanced bookmark tracking support 00092 // note: not in general use yet. 00093 virtual void 00094 HandleBookmarkEvent(int shotid, bool isSelected) 00095 { 00096 } 00097 00098 }; 00099 00100 } // namespace Database 00101 } // namespace Core 00102 } // namespace Impala 00103 00104 #endif