pdf::PluginViewImpl Class Reference

Implement all interfaces of view object. If view object provider does not want to support optional interface, it may remove the interface from parent class list. More...

#include <view_impl.h>

Inheritance diagram for pdf::PluginViewImpl:
Inheritance graph
[legend]
Collaboration diagram for pdf::PluginViewImpl:
Collaboration graph
[legend]

Public Member Functions

 PluginViewImpl (PluginDocImpl *doc)
 ~PluginViewImpl (void)

Data Fields

utils::Signal< PluginViewImpl * > release_signal

Detailed Description

Implement all interfaces of view object. If view object provider does not want to support optional interface, it may remove the interface from parent class list.

Definition at line 48 of file pdf/plugin_impl/view_impl.h.


Constructor & Destructor Documentation

pdf::PluginViewImpl::PluginViewImpl ( PluginDocImpl doc  )  [explicit]

Definition at line 38 of file pdf/plugin_impl/view_impl.cpp.

References IPluginEventBroadcaster::add_event_receiver, utils::ObjectTable< T >::add_interface(), pdf::Signal< R, A1, A2, A3, A4, A5 >::add_slot(), IPluginRender::create_render_settings, IPluginView::get_anchor_by_page, IPluginView::get_cover_page, IPluginFont::get_font_family, IPluginFont::get_font_size, IPluginView::get_next_page, IPluginView::get_number_of_pages, IPluginRender::get_original_rotation, IPluginRender::get_original_size, IPluginRender::get_page_content_area, IPluginView::get_page_name, IPluginView::get_page_number, IPluginView::get_physical_page_start, IPluginView::get_prev_page, IPluginView::get_rendered_page_start, _IPluginUnknown::query_interface, _IPluginUnknown::release, IPluginEventBroadcaster::remove_event_receiver, IPluginRender::render, IPluginViewSettings::set_color_depth, IPluginViewSettings::set_display_size, IPluginViewSettings::set_DPI, IPluginFont::set_font_family, IPluginFont::set_font_size, IPluginRender::set_memory_limit, and pdf::PDFController::sig_page_ready.

00039 : document(doc)
00040 , render_settings()
00041 , render_results()
00042 , listeners()
00043 , renderer(doc->get_renderer())
00044 {
00045     assert(document);
00046 
00047     // IPluginUnknown
00048     query_interface = query_interface_impl;
00049     release         = release_impl;
00050 
00051     // IPluginView
00052     get_page_number         = get_page_number_impl;
00053     get_page_name           = get_page_name_impl;
00054     get_rendered_page_start = get_rendered_page_start_impl;
00055     get_physical_page_start = get_physical_page_start_impl;
00056     get_number_of_pages     = get_number_of_pages_impl;
00057     get_anchor_by_page      = get_anchor_by_page_impl;
00058     get_prev_page           = get_prev_page_impl;
00059     get_next_page           = get_next_page_impl;
00060     get_cover_page          = get_cover_page_impl;
00061 
00062     // IPluginViewSettings
00063     set_display_size    = set_display_size_impl;
00064     set_DPI             = set_DPI_impl;
00065     set_color_depth     = set_color_depth_impl;
00066 
00067     // IPluginRender
00068     render                  = render_impl;
00069     create_render_settings  = create_render_settings_impl;
00070     set_memory_limit        = set_memory_limit_impl;
00071     get_original_size       = get_original_size_impl;
00072     get_page_content_area   = get_page_content_area_impl;
00073     get_original_rotation   = get_original_rotation_impl;
00074 
00075     // IPluginFont
00076     get_font_size   = get_font_size_impl;
00077     set_font_size   = set_font_size_impl;
00078     get_font_family = get_font_family_impl;
00079     set_font_family = set_font_family_impl;
00080 
00081     // IPluginEventBroadcaster
00082     add_event_receiver      = add_event_receiver_impl;
00083     remove_event_receiver   = remove_event_receiver_impl;
00084 
00085     g_instances_table.add_interface<IPluginUnknown>(this);
00086     g_instances_table.add_interface<IPluginView>(this);
00087     g_instances_table.add_interface<IPluginViewSettings>(this);
00088     g_instances_table.add_interface<IPluginRender>(this);
00089     g_instances_table.add_interface<IPluginEventBroadcaster>(this);
00090 
00091     // add the slots of handling render results onto the document
00092     document->doc_ctrl.sig_page_ready.add_slot(this
00093         , &PluginViewImpl::handle_page_ready);
00094 
00095 }

Here is the call graph for this function:

pdf::PluginViewImpl::~PluginViewImpl ( void   ) 

Definition at line 97 of file pdf/plugin_impl/view_impl.cpp.

References utils::ObjectTable< T >::remove(), pdf::Signal< R, A1, A2, A3, A4, A5 >::remove_slot(), and pdf::PDFController::sig_page_ready.

00098 {
00099     document->doc_ctrl.sig_page_ready.remove_slot(this
00100         , &PluginViewImpl::handle_page_ready);
00101 
00102     g_instances_table.remove(this);
00103 }

Here is the call graph for this function:


Field Documentation

Definition at line 61 of file pdf/plugin_impl/view_impl.h.


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.2-20100208