Scroom  0.14
PresentationBase Class Referenceabstract

#include <presentationinterface.hh>

Inheritance diagram for PresentationBase:
Inheritance graph
Collaboration diagram for PresentationBase:
Collaboration graph

Public Member Functions

void open (ViewInterface::WeakPtr vi) override
 
void close (ViewInterface::WeakPtr vi) override
 
- Public Member Functions inherited from PresentationInterface
virtual Scroom::Utils::Rectangle< double > getRect ()=0
 
virtual void redraw (ViewInterface::Ptr const &vi, cairo_t *cr, Scroom::Utils::Rectangle< double > presentationArea, int zoom)=0
 
virtual bool getProperty (const std::string &name, std::string &value)=0
 
virtual bool isPropertyDefined (const std::string &name)=0
 
virtual std::string getTitle ()=0
 
virtual Scroom::Utils::Point< double > getAspectRatio () const
 
- Public Member Functions inherited from Scroom::Utils::Observable< T >
 Observable ()
 
 ~Observable () override
 
 Observable (const Observable &)=delete
 
 Observable (Observable &&)=delete
 
Observable operator= (const Observable &)=delete
 
Observable operator= (Observable &&)=delete
 
Scroom::Bookkeeping::Token registerStrongObserver (Observer const &observer)
 
Scroom::Bookkeeping::Token registerObserver (ObserverWeak const &observer)
 

Protected Member Functions

void observerAdded (Viewable::Ptr const &viewable, Scroom::Bookkeeping::Token const &t) override
 
virtual void viewAdded (ViewInterface::WeakPtr vi)=0
 
virtual void viewRemoved (ViewInterface::WeakPtr vi)=0
 
virtual std::set< ViewInterface::WeakPtrgetViews ()=0
 
- Protected Member Functions inherited from Scroom::Utils::Observable< T >
std::list< ObservergetObservers ()
 
virtual void observerAdded (Observer const &observer, Scroom::Bookkeeping::Token const &token)
 

Additional Inherited Members

- Public Types inherited from PresentationInterface
using Ptr = boost::shared_ptr< PresentationInterface >
 
using WeakPtr = boost::weak_ptr< PresentationInterface >
 
- Public Types inherited from Viewable
using Ptr = boost::shared_ptr< Viewable >
 
using WeakPtr = boost::weak_ptr< Viewable >
 
- Public Types inherited from Scroom::Utils::Observable< T >
using Observer = boost::shared_ptr< T >
 
using Ptr = boost::shared_ptr< Observable< T > >
 

Member Function Documentation

◆ close()

void PresentationBase::close ( ViewInterface::WeakPtr  vi)
overridevirtual

Gets called just before the View is destroyed

Precondition
Should be called from within a Gdk critical section (i.e. between gdk_threads_enter() and gdk_threads_leave() calls)

Implements Viewable.

Reimplemented in TransformPresentation.

24 {
25  std::list<Viewable::Ptr> const observers = getObservers();
26 
27  for(Viewable::Ptr const& observer: observers)
28  {
29  observer->close(vi);
30  }
31 
32  viewRemoved(vi);
33 }

Referenced by TransformPresentation::close().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getViews()

virtual std::set<ViewInterface::WeakPtr> PresentationBase::getViews ( )
protectedpure virtual

◆ observerAdded()

void PresentationBase::observerAdded ( Viewable::Ptr const &  viewable,
Scroom::Bookkeeping::Token const &  t 
)
overrideprotected
36 {
37  std::set<ViewInterface::WeakPtr> const views = getViews();
38 
39  for(ViewInterface::WeakPtr const& view: views)
40  {
41  viewable->open(view);
42  }
43 }
Here is the call graph for this function:

◆ open()

void PresentationBase::open ( ViewInterface::WeakPtr  vi)
overridevirtual

Gets called just after the View is created

Precondition
Should be called from within a Gdk critical section (i.e. between gdk_threads_enter() and gdk_threads_leave() calls)

Implements Viewable.

Reimplemented in TransformPresentation.

12 {
13  viewAdded(vi);
14 
15  std::list<Viewable::Ptr> const observers = getObservers();
16 
17  for(Viewable::Ptr const& observer: observers)
18  {
19  observer->open(vi);
20  }
21 }

Referenced by TransformPresentation::open().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ viewAdded()

virtual void PresentationBase::viewAdded ( ViewInterface::WeakPtr  vi)
protectedpure virtual

◆ viewRemoved()

virtual void PresentationBase::viewRemoved ( ViewInterface::WeakPtr  vi)
protectedpure virtual

The documentation for this class was generated from the following files:
PresentationBase::getViews
virtual std::set< ViewInterface::WeakPtr > getViews()=0
Scroom::Utils::Observable::getObservers
std::list< Observer > getObservers()
Definition: observable.hh:197
PresentationBase::viewRemoved
virtual void viewRemoved(ViewInterface::WeakPtr vi)=0
ViewInterface::WeakPtr
boost::weak_ptr< ViewInterface > WeakPtr
Definition: viewinterface.hh:194
PresentationBase::viewAdded
virtual void viewAdded(ViewInterface::WeakPtr vi)=0
views
static Views views
Definition: callbacks.cc:56
Viewable::Ptr
boost::shared_ptr< Viewable > Ptr
Definition: presentationinterface.hh:35