aboutsummaryrefslogtreecommitdiff
path: root/libindicator
diff options
context:
space:
mode:
Diffstat (limited to 'libindicator')
-rw-r--r--libindicator/indicator-object-marshal.c43
-rw-r--r--libindicator/indicator-object-marshal.h12
-rw-r--r--libindicator/indicator-object-marshal.list3
-rw-r--r--libindicator/indicator-object.c25
-rw-r--r--libindicator/indicator-object.h4
5 files changed, 79 insertions, 8 deletions
diff --git a/libindicator/indicator-object-marshal.c b/libindicator/indicator-object-marshal.c
index 76a8cdf..a6415d2 100644
--- a/libindicator/indicator-object-marshal.c
+++ b/libindicator/indicator-object-marshal.c
@@ -126,7 +126,46 @@ _indicator_object_marshal_VOID__UINT_ENUM (GClosure *closure,
data2);
}
-/* VOID:POINTER,UINT (./indicator-object-marshal.list:3) */
+/* VOID:POINTER,UINT,ENUM (./indicator-object-marshal.list:3) */
+void
+_indicator_object_marshal_VOID__POINTER_UINT_ENUM (GClosure *closure,
+ GValue *return_value G_GNUC_UNUSED,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer invocation_hint G_GNUC_UNUSED,
+ gpointer marshal_data)
+{
+ typedef void (*GMarshalFunc_VOID__POINTER_UINT_ENUM) (gpointer data1,
+ gpointer arg_1,
+ guint arg_2,
+ gint arg_3,
+ gpointer data2);
+ register GMarshalFunc_VOID__POINTER_UINT_ENUM callback;
+ register GCClosure *cc = (GCClosure*) closure;
+ register gpointer data1, data2;
+
+ g_return_if_fail (n_param_values == 4);
+
+ if (G_CCLOSURE_SWAP_DATA (closure))
+ {
+ data1 = closure->data;
+ data2 = g_value_peek_pointer (param_values + 0);
+ }
+ else
+ {
+ data1 = g_value_peek_pointer (param_values + 0);
+ data2 = closure->data;
+ }
+ callback = (GMarshalFunc_VOID__POINTER_UINT_ENUM) (marshal_data ? marshal_data : cc->callback);
+
+ callback (data1,
+ g_marshal_value_peek_pointer (param_values + 1),
+ g_marshal_value_peek_uint (param_values + 2),
+ g_marshal_value_peek_enum (param_values + 3),
+ data2);
+}
+
+/* VOID:POINTER,UINT (./indicator-object-marshal.list:4) */
void
_indicator_object_marshal_VOID__POINTER_UINT (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
@@ -163,7 +202,7 @@ _indicator_object_marshal_VOID__POINTER_UINT (GClosure *closure,
data2);
}
-/* VOID:POINTER,BOOLEAN (./indicator-object-marshal.list:4) */
+/* VOID:POINTER,BOOLEAN (./indicator-object-marshal.list:5) */
void
_indicator_object_marshal_VOID__POINTER_BOOLEAN (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
diff --git a/libindicator/indicator-object-marshal.h b/libindicator/indicator-object-marshal.h
index f2475b2..ba91c72 100644
--- a/libindicator/indicator-object-marshal.h
+++ b/libindicator/indicator-object-marshal.h
@@ -22,7 +22,15 @@ extern void _indicator_object_marshal_VOID__UINT_ENUM (GClosure *closure,
gpointer invocation_hint,
gpointer marshal_data);
-/* VOID:POINTER,UINT (./indicator-object-marshal.list:3) */
+/* VOID:POINTER,UINT,ENUM (./indicator-object-marshal.list:3) */
+extern void _indicator_object_marshal_VOID__POINTER_UINT_ENUM (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+/* VOID:POINTER,UINT (./indicator-object-marshal.list:4) */
extern void _indicator_object_marshal_VOID__POINTER_UINT (GClosure *closure,
GValue *return_value,
guint n_param_values,
@@ -30,7 +38,7 @@ extern void _indicator_object_marshal_VOID__POINTER_UINT (GClosure *closure,
gpointer invocation_hint,
gpointer marshal_data);
-/* VOID:POINTER,BOOLEAN (./indicator-object-marshal.list:4) */
+/* VOID:POINTER,BOOLEAN (./indicator-object-marshal.list:5) */
extern void _indicator_object_marshal_VOID__POINTER_BOOLEAN (GClosure *closure,
GValue *return_value,
guint n_param_values,
diff --git a/libindicator/indicator-object-marshal.list b/libindicator/indicator-object-marshal.list
index 4ea1e8b..73f1fac 100644
--- a/libindicator/indicator-object-marshal.list
+++ b/libindicator/indicator-object-marshal.list
@@ -1,4 +1,5 @@
VOID: POINTER, UINT, UINT
-VOID: UINT,ENUM
+VOID: UINT, ENUM
+VOID: POINTER, UINT, ENUM
VOID: POINTER, UINT
VOID: POINTER, BOOLEAN
diff --git a/libindicator/indicator-object.c b/libindicator/indicator-object.c
index 988a8ae..95ab08a 100644
--- a/libindicator/indicator-object.c
+++ b/libindicator/indicator-object.c
@@ -58,6 +58,7 @@ enum {
ENTRY_REMOVED,
ENTRY_MOVED,
SCROLL,
+ SCROLL_ENTRY,
MENU_SHOW,
SHOW_NOW_CHANGED,
LAST_SIGNAL
@@ -146,7 +147,6 @@ indicator_object_class_init (IndicatorObjectClass *klass)
_indicator_object_marshal_VOID__POINTER_UINT_UINT,
G_TYPE_NONE, 3, G_TYPE_POINTER, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_NONE);
-
/**
IndicatorObject::scroll:
@arg0: The #IndicatorObject object
@@ -162,7 +162,28 @@ indicator_object_class_init (IndicatorObjectClass *klass)
G_STRUCT_OFFSET (IndicatorObjectClass, scroll),
NULL, NULL,
_indicator_object_marshal_VOID__UINT_ENUM,
- G_TYPE_NONE, 2, G_TYPE_UINT, INDICATOR_OBJECT_TYPE_SCROLL_DIRECTION);
+ G_TYPE_NONE, 2, G_TYPE_UINT,
+ INDICATOR_OBJECT_TYPE_SCROLL_DIRECTION);
+
+/**
+ IndicatorObject::scroll-entry:
+ @arg0: The #IndicatorObject object
+ @arg1: A pointer to the #IndicatorObjectEntry that
+ receives the scroll event.
+ @arg2: The delta of the scroll event
+ @arg3: The orientation of the scroll event.
+
+ When the indicator receives a mouse scroll wheel event
+ from the user, this signal is emitted.
+ */
+ signals[SCROLL_ENTRY] = g_signal_new (INDICATOR_OBJECT_SIGNAL_SCROLL_ENTRY,
+ G_TYPE_FROM_CLASS(klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (IndicatorObjectClass, scroll_entry),
+ NULL, NULL,
+ _indicator_object_marshal_VOID__POINTER_UINT_ENUM,
+ G_TYPE_NONE, 3, G_TYPE_POINTER, G_TYPE_UINT,
+ INDICATOR_OBJECT_TYPE_SCROLL_DIRECTION);
/**
IndicatorObject::menu-show:
diff --git a/libindicator/indicator-object.h b/libindicator/indicator-object.h
index 9ad1366..4b3ce0b 100644
--- a/libindicator/indicator-object.h
+++ b/libindicator/indicator-object.h
@@ -51,6 +51,8 @@ typedef enum
#define INDICATOR_OBJECT_SIGNAL_ENTRY_MOVED_ID (g_signal_lookup(INDICATOR_OBJECT_SIGNAL_ENTRY_MOVED, INDICATOR_OBJECT_TYPE))
#define INDICATOR_OBJECT_SIGNAL_SCROLL "scroll"
#define INDICATOR_OBJECT_SIGNAL_SCROLL_ID (g_signal_lookup(INDICATOR_OBJECT_SIGNAL_SCROLL, INDICATOR_OBJECT_TYPE))
+#define INDICATOR_OBJECT_SIGNAL_SCROLL_ENTRY "scroll-entry"
+#define INDICATOR_OBJECT_SIGNAL_SCROLL_ENTRY_ID (g_signal_lookup(#define INDICATOR_OBJECT_SIGNAL_SCROLL_ENTRY, INDICATOR_OBJECT_TYPE))
#define INDICATOR_OBJECT_SIGNAL_MENU_SHOW "menu-show"
#define INDICATOR_OBJECT_SIGNAL_MENU_SHOW_ID (g_signal_lookup(INDICATOR_OBJECT_SIGNAL_MENU_SHOW, INDICATOR_OBJECT_TYPE))
#define INDICATOR_OBJECT_SIGNAL_SHOW_NOW_CHANGED "show-now-changed"
@@ -114,6 +116,7 @@ struct _IndicatorObjectClass {
void (*scroll) (IndicatorObject * io, gint delta, IndicatorScrollDirection direction);
void (*menu_show) (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp, gpointer user_data);
void (*show_now_changed) (IndicatorObject * io, IndicatorObjectEntry * entry, gboolean show_now_state, gpointer user_data);
+ void (*scroll_entry) (IndicatorObject * io, IndicatorObjectEntry * entry, gint delta, IndicatorScrollDirection direction);
/* Reserved */
void (*reserved1) (void);
@@ -121,7 +124,6 @@ struct _IndicatorObjectClass {
void (*reserved3) (void);
void (*reserved4) (void);
void (*reserved5) (void);
- void (*reserved6) (void);
};
/**