aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/demo/addressbook.c
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/demo/addressbook.c')
-rw-r--r--addressbook/demo/addressbook.c111
1 files changed, 111 insertions, 0 deletions
diff --git a/addressbook/demo/addressbook.c b/addressbook/demo/addressbook.c
new file mode 100644
index 0000000000..7350e0cd0c
--- /dev/null
+++ b/addressbook/demo/addressbook.c
@@ -0,0 +1,111 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * folder-browser-factory.c: A Bonobo Control factory for Folder Browsers
+ *
+ * Author:
+ * Miguel de Icaza (miguel@helixcode.com)
+ *
+ * (C) 2000 Helix Code, Inc.
+ */
+/*
+ * bonobo-clock-control.c
+ *
+ * Copyright 1999, Helix Code, Inc.
+ *
+ * Author:
+ * Nat Friedman (nat@nat.org)
+ */
+
+#include <config.h>
+#include <gnome.h>
+#include <libgnorba/gnorba.h>
+#include <bonobo.h>
+
+#include <libgnomeui/gtk-clock.h>
+
+#include "addressbook-widget.h"
+#include "addressbook.h"
+
+#if 0
+static void
+bonobo_clock_control_prop_value_changed_cb (BonoboPropertyBag *pb, char *name, char *type,
+ gpointer old_value, gpointer new_value,
+ gpointer user_data)
+{
+ GtkClock *clock = user_data;
+
+ if (! strcmp (name, "running")) {
+ gboolean *b = new_value;
+
+ if (*b)
+ gtk_clock_start (clock);
+ else
+ gtk_clock_stop (clock);
+ }
+}
+
+/*
+ * Callback routine used to release any values we associated with the control
+ * dynamically.
+ */
+static void
+release_data (GtkObject *object, void *data)
+{
+ g_free (data);
+}
+#endif
+
+static BonoboObject *
+addressbook_factory (BonoboGenericFactory *Factory, void *closure)
+{
+#if 0
+ BonoboPropertyBag *pb;
+ CORBA_boolean *running;
+#endif
+ BonoboControl *control;
+ View *view;
+
+ /* Create the control. */
+ view = create_view();
+ control = bonobo_control_new (view->widget);
+#if 0
+ /* Create the properties. */
+ pb = bonobo_property_bag_new ();
+ bonobo_control_set_property_bag (control, pb);
+
+ gtk_signal_connect (GTK_OBJECT (pb), "value_changed",
+ bonobo_clock_control_prop_value_changed_cb,
+ clock);
+
+ running = g_new0 (CORBA_boolean, 1);
+ *running = TRUE;
+ bonobo_property_bag_add (pb, "running", "boolean",
+ (gpointer) running,
+ NULL, "Whether or not the clock is running", 0);
+
+ /*
+ * Release "running" when the object is destroyed
+ */
+ gtk_signal_connect (GTK_OBJECT (pb), "destroy", GTK_SIGNAL_FUNC (release_data), running);
+#endif
+
+ return BONOBO_OBJECT (control);
+}
+
+void
+addressbook_factory_init (void)
+{
+ static BonoboGenericFactory *addressbook_control_factory = NULL;
+
+ if (addressbook_control_factory != NULL)
+ return;
+
+ addressbook_control_factory =
+ bonobo_generic_factory_new (
+ "control-factory:addressbook",
+ addressbook_factory, NULL);
+
+ if (addressbook_control_factory == NULL) {
+ g_error ("I could not register a Addressbook factory.");
+ }
+}