okular
observer.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef _OKULAR_DOCUMENTOBSERVER_H_
00012 #define _OKULAR_DOCUMENTOBSERVER_H_
00013
00014 #include <QtCore/QVector>
00015
00016 #include <okular/core/okular_export.h>
00017
00018 namespace Okular {
00019
00021 #define PRESENTATION_ID 1
00022 #define PART_ID 2
00023 #define PAGEVIEW_ID 3
00024 #define THUMBNAILS_ID 4
00025 #define TOC_ID 5
00026 #define MINIBAR_ID 6
00027 #define REVIEWS_ID 7
00028 #define PROGRESSWIDGET_ID 8
00029 #define PAGESIZELABEL_ID 9
00030 #define BOOKMARKLIST_ID 10
00031 #define ANNOTATIONMODEL_ID 11
00032
00033
00034 #define MAX_OBSERVER_ID 12
00035
00037 #define PAGEVIEW_PRIO 1
00038 #define PAGEVIEW_PRELOAD_PRIO 4
00039 #define THUMBNAILS_PRIO 2
00040 #define THUMBNAILS_PRELOAD_PRIO 5
00041 #define PRESENTATION_PRIO 0
00042 #define PRESENTATION_PRELOAD_PRIO 3
00043
00044 class Page;
00045
00052 class OKULAR_EXPORT DocumentObserver
00053 {
00054 public:
00055 DocumentObserver();
00059 virtual ~DocumentObserver();
00060
00064 virtual uint observerId() const = 0;
00065
00070 enum ChangedFlags {
00071 Pixmap = 1,
00072 Bookmark = 2,
00073 Highlights = 4,
00074 TextSelection = 8,
00075 Annotations = 16
00076 };
00077
00081 enum SetupFlags {
00082 DocumentChanged = 1,
00083 NewLayoutForPages = 2
00084 };
00085
00092 virtual void notifySetup( const QVector< Okular::Page * > &pages, int setupFlags );
00093
00099 virtual void notifyViewportChanged( bool smoothMove );
00100
00105 virtual void notifyPageChanged( int page, int flags );
00106
00111 virtual void notifyContentsCleared( int flags );
00112
00116 virtual void notifyVisibleRectsChanged();
00117
00121 virtual void notifyZoom( int factor );
00122
00129 virtual bool canUnloadPixmap( int page ) const;
00130
00131 private:
00132 class Private;
00133 const Private* d;
00134 };
00135
00136 }
00137
00138 #endif