Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/libdocument
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2009-06-01 13:44:49 (GMT)
committer Carlos Garcia Campos <carlosgc@gnome.org>2009-06-01 13:44:49 (GMT)
commit65e20e2ca2ba9395aac06eab9a9db79a16a4555a (patch)
tree416dfbf6e6948c3106e732b9045e3166582d9fc7 /libdocument
parente4b9192dc1562bf5f3867a41c741360ea4986fef (diff)
[libdocument] Add has_popup() method to annotation markup iface
Diffstat (limited to 'libdocument')
-rw-r--r--libdocument/ev-annotation.c28
-rw-r--r--libdocument/ev-annotation.h1
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);