From 428931dccacc89ec3861955a95605e4943c48a94 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Thu, 29 Jun 2000 03:23:51 +0000 Subject: New select names manager interface (Not complete.) 2000-06-28 Christopher James Lahey * gui/component/select-names/, gui/component/select-names/e-select-names-manager.c, gui/component/select-names/e-select-names-manager.h: New select names manager interface (Not complete.) svn path=/trunk/; revision=3785 --- .../select-names/e-select-names-manager.c | 171 +++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 addressbook/gui/component/select-names/e-select-names-manager.c (limited to 'addressbook/gui/component/select-names/e-select-names-manager.c') diff --git a/addressbook/gui/component/select-names/e-select-names-manager.c b/addressbook/gui/component/select-names/e-select-names-manager.c new file mode 100644 index 0000000000..28981cf018 --- /dev/null +++ b/addressbook/gui/component/select-names/e-select-names-manager.c @@ -0,0 +1,171 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Authors: + * Chris Lahey + * + * Copyright (C) 2000 Helix Code, Inc. + */ + +#include +#include +#include +#include +#include + +#include "e-select-names-manager.h" + +/* Object argument IDs */ +enum { + ARG_0, + ARG_CARD, +}; + + +static void e_select_names_manager_init (ESelectNamesManager *manager); +static void e_select_names_manager_class_init (ESelectNamesManagerClass *klass); + +static void e_select_names_manager_destroy (GtkObject *object); +static void e_select_names_manager_set_arg (GtkObject *object, GtkArg *arg, guint arg_id); +static void e_select_names_manager_get_arg (GtkObject *object, GtkArg *arg, guint arg_id); + +static void fill_in_info(ESelectNamesManager *manager); + +/** + * e_select_names_manager_get_type: + * @void: + * + * Registers the &ESelectNamesManager class if necessary, and returns the type ID + * associated to it. + * + * Return value: The type ID of the &ESelectNamesManager class. + **/ +GtkType +e_select_names_manager_get_type (void) +{ + static GtkType manager_type = 0; + + if (!manager_type) { + GtkTypeInfo manager_info = { + "ESelectNamesManager", + sizeof (ESelectNamesManager), + sizeof (ESelectNamesManagerClass), + (GtkClassInitFunc) e_select_names_manager_class_init, + (GtkObjectInitFunc) e_select_names_manager_init, + NULL, /* reserved_1 */ + NULL, /* reserved_2 */ + (GtkClassInitFunc) NULL + }; + + manager_type = gtk_type_unique (gtk_object_get_type (), &manager_info); + } + + return manager_type; +} + +/** + * e_select_names_manager_new: + * @VCard: a string in vCard format + * + * Returns: a new #ESelectNamesManager that wraps the @VCard. + */ +ESelectNamesManager * +e_select_names_manager_new (void) +{ + ESelectNamesManager *manager = E_SELECT_NAMES_MANAGER(gtk_type_new(e_select_names_manager_get_type())); + return manager; +} + +static void +e_select_names_manager_class_init (ESelectNamesManagerClass *klass) +{ + GtkObjectClass *object_class; + + object_class = GTK_OBJECT_CLASS(klass); + + gtk_object_add_arg_type ("ESelectNamesManager::card", + GTK_TYPE_OBJECT, GTK_ARG_READWRITE, ARG_CARD); + + object_class->destroy = e_select_names_manager_destroy; + object_class->get_arg = e_select_names_manager_get_arg; + object_class->set_arg = e_select_names_manager_set_arg; +} + +/* + * ESelectNamesManager lifecycle management and vcard loading/saving. + */ + +static void +e_select_names_manager_destroy (GtkObject *object) +{ + ESelectNamesManager *manager; + int i; + + manager = E_SELECT_NAMES_MANAGER (object); +} + + +/* Set_arg handler for the manager */ +static void +e_select_names_manager_set_arg (GtkObject *object, GtkArg *arg, guint arg_id) +{ + ESelectNamesManager *manager; + + manager = E_SELECT_NAMES_MANAGER (object); + + switch (arg_id) { + case ARG_CARD: + fill_in_info(manager); + break; + default: + return; + } +} + +/* Get_arg handler for the manager */ +static void +e_select_names_manager_get_arg (GtkObject *object, GtkArg *arg, guint arg_id) +{ + ESelectNamesManager *manager; + + manager = E_SELECT_NAMES_MANAGER (object); + + switch (arg_id) { + case ARG_CARD: + e_select_names_manager_sync_card(manager); + if (manager->card) + GTK_VALUE_OBJECT (*arg) = GTK_OBJECT(manager->card); + else + GTK_VALUE_OBJECT (*arg) = NULL; + break; + default: + arg->type = GTK_TYPE_INVALID; + break; + } +} + + +/** + * e_select_names_manager_init: + */ +static void +e_select_names_manager_init (ESelectNamesManager *manager) +{ +} + +static void +fill_in_info(ESelectNamesManager *manager) +{ + ECard *card = manager->card; + if (card) { + + } +} + +void +e_select_names_manager_sync_card(ESelectNamesManager *manager) +{ + ECard *card = manager->card; + if (card) { + fill_in_info(manager); + } +} -- cgit v1.2.3