• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • kdegraphics
  • Sitemap
  • Contact Us
 

okular

observer.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2005 by Enrico Ros <eros.kde@email.it>                  *
00003  *   Copyright (C) 2005 by Albert Astals Cid <tsdgeos@terra.es>            *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU General Public License as published by  *
00007  *   the Free Software Foundation; either version 2 of the License, or     *
00008  *   (at your option) any later version.                                   *
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 // the biggest id, useful for ignoring wrong id request
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

okular

Skip menu "okular"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdegraphics

Skip menu "kdegraphics"
  • okular
Generated for kdegraphics by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal