X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-sidebar-page.c;h=14bb847c2858f7d195e0b6821ab3731e3b4f22f4;hb=61ceb93b80553396531b31339e76aacfbdf9658d;hp=dfd21d3e4c8025b1a3d2ec2fc3bdfa1a002bbc03;hpb=e6e647fb236b236df1399ff4dba8faf0172002a1;p=evince.git diff --git a/shell/ev-sidebar-page.c b/shell/ev-sidebar-page.c index dfd21d3e..14bb847c 100644 --- a/shell/ev-sidebar-page.c +++ b/shell/ev-sidebar-page.c @@ -22,35 +22,15 @@ #include "config.h" #endif -#include "ev-sidebar-page.h" - -GType -ev_sidebar_page_get_type (void) -{ - static GType type = 0; - - if (G_UNLIKELY (type == 0)) - { - static const GTypeInfo sidebar_page_info = - { - sizeof (EvDocumentIface), - NULL, - NULL, - NULL - }; - - type = g_type_register_static (G_TYPE_INTERFACE, - "EvSidebarPage", - &sidebar_page_info, (GTypeFlags)0); - } +#include - return type; -} +#include "ev-sidebar-page.h" +EV_DEFINE_INTERFACE (EvSidebarPage, ev_sidebar_page, 0) gboolean -ev_sidebar_page_support_document (EvSidebarPage *sidebar_page, - EvDocument *document) +ev_sidebar_page_support_document (EvSidebarPage *sidebar_page, + EvDocument *document) { EvSidebarPageIface *iface; @@ -65,8 +45,8 @@ ev_sidebar_page_support_document (EvSidebarPage *sidebar_page, } void -ev_sidebar_page_set_document (EvSidebarPage *sidebar_page, - EvDocument *document) +ev_sidebar_page_set_document (EvSidebarPage *sidebar_page, + EvDocument *document) { EvSidebarPageIface *iface; @@ -75,15 +55,13 @@ ev_sidebar_page_set_document (EvSidebarPage *sidebar_page, iface = EV_SIDEBAR_PAGE_GET_IFACE (sidebar_page); - g_return_if_fail (iface->set_document); + g_assert (iface->set_document); iface->set_document (sidebar_page, document); - - return; } -const gchar* -ev_sidebar_page_get_label (EvSidebarPage *sidebar_page) +const gchar * +ev_sidebar_page_get_label (EvSidebarPage *sidebar_page) { EvSidebarPageIface *iface; @@ -91,8 +69,24 @@ ev_sidebar_page_get_label (EvSidebarPage *sidebar_page) iface = EV_SIDEBAR_PAGE_GET_IFACE (sidebar_page); - g_return_val_if_fail (iface->get_label, NULL); + g_assert (iface->get_label); return iface->get_label (sidebar_page); } + +static void +ev_sidebar_page_class_init (EvSidebarPageIface *iface) +{ + static gboolean initialized = FALSE; + + if (!initialized) { + g_object_interface_install_property (iface, + g_param_spec_object ("main-widget", + "Main Widget", + "Main page widget, used to handle focus", + GTK_TYPE_WIDGET, + G_PARAM_READABLE)); + initialized = TRUE; + } +}