[gnome-todo/wip/gbsneto/plugins: 19/62] activatable, provider: add signals



commit d85035df5d3ed9ee65d17cc8b472f6351d4171b6
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Wed Dec 23 17:07:24 2015 -0200

    activatable, provider: add signals

 src/interfaces/gtd-activatable.c |   62 ++++++++++++++++++++++++++++++++++++++
 src/interfaces/gtd-provider.c    |   62 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 124 insertions(+), 0 deletions(-)
---
diff --git a/src/interfaces/gtd-activatable.c b/src/interfaces/gtd-activatable.c
index 6206097..995092c 100644
--- a/src/interfaces/gtd-activatable.c
+++ b/src/interfaces/gtd-activatable.c
@@ -17,9 +17,20 @@
  */
 
 #include "gtd-activatable.h"
+#include "gtd-provider.h"
 
 G_DEFINE_INTERFACE (GtdActivatable, gtd_activatable, PEAS_TYPE_ACTIVATABLE)
 
+enum
+{
+  PROVIDER_ADDED,
+  PROVIDER_CHANGED,
+  PROVIDER_REMOVED,
+  NUM_SIGNALS
+};
+
+static guint signals[NUM_SIGNALS] = { 0, };
+
 static void
 gtd_activatable_default_init (GtdActivatableInterface *iface)
 {
@@ -46,6 +57,57 @@ gtd_activatable_default_init (GtdActivatableInterface *iface)
                                                            "A list of providers this widget has",
                                                            G_TYPE_POINTER,
                                                            G_PARAM_READABLE));
+
+  /**
+   * GtdActivatable::provider-added:
+   *
+   * The ::provider-added signal is emmited after a #GtdProvider
+   * is connected.
+   */
+  signals[PROVIDER_ADDED] = g_signal_new ("provider-added",
+                                          GTD_TYPE_ACTIVATABLE,
+                                          G_SIGNAL_RUN_LAST,
+                                          0,
+                                          NULL,
+                                          NULL,
+                                          NULL,
+                                          G_TYPE_NONE,
+                                          1,
+                                          GTD_TYPE_PROVIDER);
+
+  /**
+   * GtdActivatable::provider-changed:
+   *
+   * The ::provider-changed signal is emmited after a #GtdProvider
+   * has any of it's properties changed.
+   */
+  signals[PROVIDER_CHANGED] = g_signal_new ("provider-changed",
+                                            GTD_TYPE_ACTIVATABLE,
+                                            G_SIGNAL_RUN_LAST,
+                                            0,
+                                            NULL,
+                                            NULL,
+                                            NULL,
+                                            G_TYPE_NONE,
+                                            1,
+                                            GTD_TYPE_PROVIDER);
+
+  /**
+   * GtdActivatable::provider-removed:
+   *
+   * The ::provider-removed signal is emmited after a #GtdProvider
+   * is disconnected.
+   */
+  signals[PROVIDER_REMOVED] = g_signal_new ("provider-removed",
+                                            GTD_TYPE_ACTIVATABLE,
+                                            G_SIGNAL_RUN_LAST,
+                                            0,
+                                            NULL,
+                                            NULL,
+                                            NULL,
+                                            G_TYPE_NONE,
+                                            1,
+                                            GTD_TYPE_PROVIDER);
 }
 
 GList*
diff --git a/src/interfaces/gtd-provider.c b/src/interfaces/gtd-provider.c
index bc2eac2..6c39b0c 100644
--- a/src/interfaces/gtd-provider.c
+++ b/src/interfaces/gtd-provider.c
@@ -17,9 +17,20 @@
  */
 
 #include "gtd-provider.h"
+#include "gtd-task-list.h"
 
 G_DEFINE_INTERFACE (GtdProvider, gtd_provider, GTD_TYPE_OBJECT)
 
+enum
+{
+  LIST_ADDED,
+  LIST_CHANGED,
+  LIST_REMOVED,
+  NUM_SIGNALS
+};
+
+static guint signals[NUM_SIGNALS] = { 0, };
+
 static void
 gtd_provider_default_init (GtdProviderInterface *iface)
 {
@@ -84,6 +95,57 @@ gtd_provider_default_init (GtdProviderInterface *iface)
                                                             "The description of the provider",
                                                             NULL,
                                                             G_PARAM_READABLE));
+
+  /**
+   * GtdProvider::list-added:
+   *
+   * The ::list-added signal is emmited after a #GtdTaskList
+   * is connected.
+   */
+  signals[LIST_ADDED] = g_signal_new ("list-added",
+                                      GTD_TYPE_PROVIDER,
+                                      G_SIGNAL_RUN_LAST,
+                                      0,
+                                      NULL,
+                                      NULL,
+                                      NULL,
+                                      G_TYPE_NONE,
+                                      1,
+                                      GTD_TYPE_TASK_LIST);
+
+/**
+   * GtdProvider::list-changed:
+   *
+   * The ::list-changed signal is emmited after a #GtdTaskList
+   * has any of it's properties changed.
+   */
+  signals[LIST_CHANGED] = g_signal_new ("list-changed",
+                                        GTD_TYPE_PROVIDER,
+                                        G_SIGNAL_RUN_LAST,
+                                        0,
+                                        NULL,
+                                        NULL,
+                                        NULL,
+                                        G_TYPE_NONE,
+                                        1,
+                                        GTD_TYPE_TASK_LIST);
+
+  /**
+   * GtdManager::list-removed:
+   *
+   * The ::list-removed signal is emmited after a #GtdTaskList
+   * is disconnected.
+   */
+  signals[LIST_REMOVED] = g_signal_new ("list-removed",
+                                        GTD_TYPE_PROVIDER,
+                                        G_SIGNAL_RUN_LAST,
+                                        0,
+                                        NULL,
+                                        NULL,
+                                        NULL,
+                                        G_TYPE_NONE,
+                                        1,
+                                        GTD_TYPE_TASK_LIST);
 }
 
 const gchar*


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