pdfedit  0.4.5
About: PDFedit is a free and open source library for manipulating PDF documents.
  Fossies Dox: pdfedit-0.4.5.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
observer.h File Reference
#include <vector>
#include <algorithm>
#include <boost/shared_ptr.hpp>
#include <iostream>
#include "os/compiler.h"
#include "utils/debug.h"
Include dependency graph for observer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  observer::ObserverException
 
class  observer::IChangeContext< T >
 
class  observer::BasicChangeContext< T >
 
class  observer::ComplexChangeContext< ValueType, ValueIdType >
 
class  observer::ScopedChangeContext< T, S >
 
class  observer::IObserver< T >
 
struct  observer::PriorityComparator< T >
 
class  observer::PriorityList< T, Storage, Compare >
 
class  observer::ObserverHandler< T >
 

Namespaces

 observer
 

Macros

#define PRINT_DEBUG_INFO(obj, observer, prefix)   do {} while(0)
 
#define REGISTER_SHAREDPTR_OBSERVER(obj, observer)
 
#define UNREGISTER_SHAREDPTR_OBSERVER(obj, observer)
 
#define REGISTER_PTR_OBSERVER(obj, observer)
 
#define UNREGISTER_PTR_OBSERVER(obj, observer)
 

Enumerations

enum  observer::ChangeContextType { observer::BasicChangeContextType, observer::ComplexChangeContextType, observer::ScopedChangeContextType }
 

Functions

std::ostream & observer::operator<< (std::ostream &str, ChangeContextType type)
 

Macro Definition Documentation

#define PRINT_DEBUG_INFO (   obj,
  observer,
  prefix 
)    do {} while(0)

Definition at line 463 of file observer.h.

#define REGISTER_PTR_OBSERVER (   obj,
  observer 
)
Value:
do { \
PRINT_DEBUG_INFO((obj), (observer), "registerObserver");\
obj->registerObserver(observer);\
}while(0)

Wrapper for observer registration.

Parameters
objObserver handler (simple pointer to ObserverHandler).
observerObserver to be registered (simple pointer to IObserver).

Note that this way of observer registration is preffered because of possible debug information.
Don't use expression parameters with side effects (e.g. ++i etc.), because they may be executed more than once (if debuging is used).

Definition at line 508 of file observer.h.

Referenced by gui::PdfEditWindow::openFile().

#define REGISTER_SHAREDPTR_OBSERVER (   obj,
  observer 
)
Value:
do { \
PRINT_DEBUG_INFO((obj).get(), (observer).get(), "registerObserver");\
obj->registerObserver(observer);\
}while(0)

Wrapper for observer registration.

Parameters
objObserver handler (ObserverHandler wrapped by shared_ptr).
observerObserver to be registered (IObserver wrapped by shared_ptr).

Note that this way of observer registration is preffered because of possible debug information.
Don't use expression parameters with side effects (e.g. ++i etc.), because they may be executed more than once (if debuging is used).

Definition at line 476 of file observer.h.

Referenced by pdfobjects::CPageAnnots::add(), pdfobjects::SimpleGenericOperator::init_operands(), gui::TreeItem::initObserver(), gui::TreeItemPage::initObserver(), pdfobjects::CPdf::PageTreeRootObserver::notify(), pdfobjects::CPdf::PageTreeNodeObserver::notify(), pdfobjects::CPdf::PageTreeNodeObserver::notify(), pdfobjects::CPdf::PageTreeKidsObserver::notify(), pdfobjects::CContentStream::registerCStreamObservers(), pdfobjects::CPdf::registerPageTreeObservers(), pdfobjects::CPdf::registerPageTreeObservers(), pdfobjects::CPdf::registerPageTreeObservers(), and pdfobjects::CPdf::registerPageTreeObservers().

#define UNREGISTER_PTR_OBSERVER (   obj,
  observer 
)
Value:
do { \
PRINT_DEBUG_INFO((obj), (observer), "unregisterObserver");\
obj->unregisterObserver(observer);\
}while(0)

Wrapper for observer unregistration.

Parameters
objObserver handler (simple pointer to ObserverHandler).
observerObserver to be unregistered (simple pointer to IObserver).

Note that this way of observer unregistration is preffered because of possible debug information.
Don't use expression parameters with side effects (e.g. ++i etc.), because they may be executed more than once (if debuging is used).

Definition at line 524 of file observer.h.

#define UNREGISTER_SHAREDPTR_OBSERVER (   obj,
  observer 
)
Value:
do { \
PRINT_DEBUG_INFO((obj).get(), (observer).get(), "unregisterObserver");\
obj->unregisterObserver(observer);\
}while(0)

Wrapper for observer unregistration.

Parameters
objObserver handler (ObserverHandler wrapped by shared_ptr).
observerObserver to be registered (IObserver wrapped by shared_ptr).

Note that this way of observer unregistration is preffered because of possible debug information.
Don't use expression parameters with side effects (e.g. ++i etc.), because they may be executed more than once (if debuging is used).

Definition at line 492 of file observer.h.

Referenced by pdfobjects::CPdf::PageTreeRootObserver::notify(), pdfobjects::CPdf::PageTreeNodeObserver::notify(), pdfobjects::CPdf::PageTreeNodeObserver::notify(), pdfobjects::CPdf::PageTreeKidsObserver::notify(), gui::TreeItem::uninitObserver(), gui::TreeItemPage::uninitObserver(), pdfobjects::CContentStream::unregisterCStreamObservers(), pdfobjects::CPdf::unregisterPageObservers(), pdfobjects::CPdf::unregisterPageObservers(), pdfobjects::CPdf::unregisterPageTreeObservers(), pdfobjects::CPdf::unregisterPageTreeObservers(), pdfobjects::CPdf::unregisterPageTreeObservers(), pdfobjects::CPdf::unregisterPageTreeObservers(), and pdfobjects::SimpleGenericOperator::~SimpleGenericOperator().