[evince] [libdocument] Add has_popup() method to annotation markup iface



commit 65e20e2ca2ba9395aac06eab9a9db79a16a4555a
Author: Carlos Garcia Campos <carlosgc gnome org>
Date:   Mon Jun 1 15:44:49 2009 +0200

    [libdocument] Add has_popup() method to annotation markup iface
---
 libdocument/ev-annotation.c |   28 ++++++++++++++++++++++++++++
 libdocument/ev-annotation.h |    1 +
 2 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/libdocument/ev-annotation.c b/libdocument/ev-annotation.c
index 7d2810f..2fadb97 100644
--- a/libdocument/ev-annotation.c
+++ b/libdocument/ev-annotation.c
@@ -31,6 +31,7 @@ enum {
 	PROP_0,
 	PROP_LABEL,
 	PROP_OPACITY,
+	PROP_HAS_POPUP,
 	PROP_RECTANGLE,
 	PROP_IS_OPEN
 };
@@ -123,6 +124,7 @@ ev_annotation_text_new (EvPage *page)
 typedef struct {
 	gchar   *label;
 	gdouble  opacity;
+	gboolean has_popup;
 	gboolean is_open;
 	EvRectangle *rectangle;
 } EvAnnotationMarkupProps;
@@ -148,6 +150,13 @@ ev_annotation_markup_iface_base_init (EvAnnotationMarkupIface *iface)
 									  0,
 									  G_PARAM_READWRITE));
 		g_object_interface_install_property (iface,
+						     g_param_spec_boolean ("has_popup",
+									   "Has popup",
+									   "Whether the markup annotation has "
+									   "a popup window associated",
+									   TRUE,
+									   G_PARAM_READWRITE));
+		g_object_interface_install_property (iface,
 						     g_param_spec_boxed ("rectangle",
 									 "Rectangle",
 									 "The Rectangle of the popup associated "
@@ -211,6 +220,9 @@ ev_annotation_markup_set_property (GObject      *object,
 	case PROP_OPACITY:
 		props->opacity = g_value_get_double (value);
 		break;
+	case PROP_HAS_POPUP:
+		props->has_popup = g_value_get_boolean (value);
+		break;
 	case PROP_RECTANGLE:
 		ev_rectangle_free (props->rectangle);
 		props->rectangle = g_value_dup_boxed (value);
@@ -240,6 +252,9 @@ ev_annotation_markup_get_property (GObject    *object,
 	case PROP_OPACITY:
 		g_value_set_double (value, props->opacity);
 		break;
+	case PROP_HAS_POPUP:
+		g_value_set_boolean (value, props->has_popup);
+		break;
 	case PROP_RECTANGLE:
 		g_value_set_boxed (value, props->rectangle);
 		break;
@@ -259,6 +274,7 @@ ev_annotation_markup_class_install_properties (GObjectClass *klass)
 
 	g_object_class_override_property (klass, PROP_LABEL, "label");
 	g_object_class_override_property (klass, PROP_OPACITY, "opacity");
+	g_object_class_override_property (klass, PROP_HAS_POPUP, "has_popup");
 	g_object_class_override_property (klass, PROP_RECTANGLE, "rectangle");
 	g_object_class_override_property (klass, PROP_IS_OPEN, "is_open");
 }
@@ -306,6 +322,18 @@ ev_annotation_markup_set_opacity (EvAnnotationMarkup *markup,
 	g_object_set (G_OBJECT (markup), "opacity", opacity, NULL);
 }
 
+gboolean
+ev_annotation_markup_has_popup (EvAnnotationMarkup *markup)
+{
+	gboolean retval;
+
+	g_return_val_if_fail (EV_IS_ANNOTATION_MARKUP (markup), FALSE);
+
+	g_object_get (G_OBJECT (markup), "has_popup", &retval, NULL);
+
+	return retval;
+}
+
 void
 ev_annotation_markup_get_rectangle (EvAnnotationMarkup *markup,
 				    EvRectangle        *ev_rect)
diff --git a/libdocument/ev-annotation.h b/libdocument/ev-annotation.h
index 10c032e..06dd1ef 100644
--- a/libdocument/ev-annotation.h
+++ b/libdocument/ev-annotation.h
@@ -112,6 +112,7 @@ void          ev_annotation_markup_set_label     (EvAnnotationMarkup *markup,
 gdouble       ev_annotation_markup_get_opacity   (EvAnnotationMarkup *markup);
 void          ev_annotation_markup_set_opacity   (EvAnnotationMarkup *markup,
 						  gdouble             opacity);
+gboolean      ev_annotation_markup_has_popup     (EvAnnotationMarkup *markup);
 void          ev_annotation_markup_get_rectangle (EvAnnotationMarkup *markup,
 						  EvRectangle        *ev_rect);
 gboolean      ev_annotation_markup_get_is_open   (EvAnnotationMarkup *markup);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]