diff options
Diffstat (limited to 'e-util/gal-define-views-model.c')
-rw-r--r-- | e-util/gal-define-views-model.c | 364 |
1 files changed, 0 insertions, 364 deletions
diff --git a/e-util/gal-define-views-model.c b/e-util/gal-define-views-model.c deleted file mode 100644 index d05ac53e67..0000000000 --- a/e-util/gal-define-views-model.c +++ /dev/null @@ -1,364 +0,0 @@ -/* - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) version 3. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with the program; if not, see <http://www.gnu.org/licenses/> - * - * - * Authors: - * Chris Lahey <clahey@ximian.com> - * - * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) - * - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <libxml/tree.h> -#include <libxml/parser.h> -#include <libxml/xmlmemory.h> - -#include <glib/gi18n.h> - -#include "gal-define-views-model.h" - -enum { - PROP_0, - PROP_EDITABLE, - PROP_COLLECTION -}; - -/* Forward Declarations */ -static void gal_define_views_model_table_model_init - (ETableModelInterface *interface); - -G_DEFINE_TYPE_WITH_CODE ( - GalDefineViewsModel, - gal_define_views_model, - G_TYPE_OBJECT, - G_IMPLEMENT_INTERFACE ( - E_TYPE_TABLE_MODEL, - gal_define_views_model_table_model_init)) - -static void -gal_define_views_model_set_property (GObject *object, - guint property_id, - const GValue *value, - GParamSpec *pspec) -{ - GalDefineViewsModel *model; - - model = GAL_DEFINE_VIEWS_MODEL (object); - - switch (property_id) { - case PROP_EDITABLE: - model->editable = g_value_get_boolean (value); - return; - - case PROP_COLLECTION: - e_table_model_pre_change (E_TABLE_MODEL (object)); - if (g_value_get_object (value)) - model->collection = GAL_VIEW_COLLECTION ( - g_value_get_object (value)); - else - model->collection = NULL; - e_table_model_changed (E_TABLE_MODEL (object)); - return; - } - - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); -} - -static void -gal_define_views_model_get_property (GObject *object, - guint property_id, - GValue *value, - GParamSpec *pspec) -{ - GalDefineViewsModel *model; - - model = GAL_DEFINE_VIEWS_MODEL (object); - - switch (property_id) { - case PROP_EDITABLE: - g_value_set_boolean (value, model->editable); - return; - - case PROP_COLLECTION: - g_value_set_object (value, model->collection); - return; - } - - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); -} - -static void -gdvm_dispose (GObject *object) -{ - GalDefineViewsModel *model = GAL_DEFINE_VIEWS_MODEL (object); - - if (model->collection) - g_object_unref (model->collection); - model->collection = NULL; - - /* Chain up to parent's dispose() method. */ - G_OBJECT_CLASS (gal_define_views_model_parent_class)->dispose (object); -} - -/* This function returns the number of columns in our ETableModel. */ -static gint -gdvm_col_count (ETableModel *etc) -{ - return 1; -} - -/* This function returns the number of rows in our ETableModel. */ -static gint -gdvm_row_count (ETableModel *etc) -{ - GalDefineViewsModel *views = GAL_DEFINE_VIEWS_MODEL (etc); - if (views->collection) - return gal_view_collection_get_count (views->collection); - else - return 0; -} - -static void -gdvm_append_row (ETableModel *etm, - ETableModel *source, - gint row) -{ -} - -/* This function returns the value at a particular point in our ETableModel. */ -static gpointer -gdvm_value_at (ETableModel *etc, - gint col, - gint row) -{ - GalDefineViewsModel *views = GAL_DEFINE_VIEWS_MODEL (etc); - GalView *view; - const gchar *value; - - view = gal_view_collection_get_view (views->collection, row); - value = gal_view_get_title (view); - - return (gpointer) ((value != NULL) ? value : ""); -} - -/* This function sets the value at a particular point in our ETableModel. */ -static void -gdvm_set_value_at (ETableModel *etc, - gint col, - gint row, - gconstpointer val) -{ - GalDefineViewsModel *views = GAL_DEFINE_VIEWS_MODEL (etc); - if (views->editable) { - GalView *view; - - view = gal_view_collection_get_view (views->collection, row); - - e_table_model_pre_change (etc); - gal_view_set_title (view, val); - e_table_model_cell_changed (etc, col, row); - } -} - -/* This function returns whether a particular cell is editable. */ -static gboolean -gdvm_is_cell_editable (ETableModel *etc, - gint col, - gint row) -{ - return GAL_DEFINE_VIEWS_MODEL (etc)->editable; -} - -/* This function duplicates the value passed to it. */ -static gpointer -gdvm_duplicate_value (ETableModel *etc, - gint col, - gconstpointer value) -{ - return g_strdup (value); -} - -/* This function frees the value passed to it. */ -static void -gdvm_free_value (ETableModel *etc, - gint col, - gpointer value) -{ - g_free (value); -} - -static gpointer -gdvm_initialize_value (ETableModel *etc, - gint col) -{ - return g_strdup (""); -} - -static gboolean -gdvm_value_is_empty (ETableModel *etc, - gint col, - gconstpointer value) -{ - return !(value && *(gchar *) value); -} - -static gchar * -gdvm_value_to_string (ETableModel *etc, - gint col, - gconstpointer value) -{ - return g_strdup (value); -} - -/** - * gal_define_views_model_append - * @model: The model to add to. - * @view: The view to add. - * - * Adds the given view to the gal define views model. - */ -void -gal_define_views_model_append (GalDefineViewsModel *model, - GalView *view) -{ - ETableModel *etm = E_TABLE_MODEL (model); - - e_table_model_pre_change (etm); - gal_view_collection_append (model->collection, view); - e_table_model_row_inserted ( - etm, gal_view_collection_get_count (model->collection) - 1); -} - -static void -gal_define_views_model_class_init (GalDefineViewsModelClass *class) -{ - GObjectClass *object_class; - - object_class = G_OBJECT_CLASS (class); - object_class->set_property = gal_define_views_model_set_property; - object_class->get_property = gal_define_views_model_get_property; - object_class->dispose = gdvm_dispose; - - g_object_class_install_property ( - object_class, - PROP_EDITABLE, - g_param_spec_boolean ( - "editable", - "Editable", - NULL, - FALSE, - G_PARAM_READWRITE)); - - g_object_class_install_property ( - object_class, - PROP_COLLECTION, - g_param_spec_object ( - "collection", - "Collection", - NULL, - GAL_TYPE_VIEW_COLLECTION, - G_PARAM_READWRITE)); -} - -static void -gal_define_views_model_table_model_init (ETableModelInterface *interface) -{ - interface->column_count = gdvm_col_count; - interface->row_count = gdvm_row_count; - interface->append_row = gdvm_append_row; - - interface->value_at = gdvm_value_at; - interface->set_value_at = gdvm_set_value_at; - interface->is_cell_editable = gdvm_is_cell_editable; - - interface->duplicate_value = gdvm_duplicate_value; - interface->free_value = gdvm_free_value; - interface->initialize_value = gdvm_initialize_value; - interface->value_is_empty = gdvm_value_is_empty; - interface->value_to_string = gdvm_value_to_string; -} - -static void -gal_define_views_model_init (GalDefineViewsModel *model) -{ - model->collection = NULL; -} - -/** - * gal_define_views_model_new - * - * Returns a new define views model. This is a list of views as an - * ETable for use in the GalDefineViewsDialog. - * - * Returns: The new GalDefineViewsModel. - */ -ETableModel * -gal_define_views_model_new (void) -{ - return g_object_new (GAL_TYPE_DEFINE_VIEWS_MODEL, NULL); -} - -/** - * gal_define_views_model_get_view: - * @model: The GalDefineViewsModel. - * @n: Which view to get. - * - * Gets the nth view. - * - * Returns: The view. - */ -GalView * -gal_define_views_model_get_view (GalDefineViewsModel *model, - gint n) -{ - return gal_view_collection_get_view (model->collection, n); -} - -/** - * gal_define_views_model_delete_view: - * @model: The GalDefineViewsModel. - * @n: Which view to delete. - * - * Deletes the nth view. - */ -void -gal_define_views_model_delete_view (GalDefineViewsModel *model, - gint n) -{ - e_table_model_pre_change (E_TABLE_MODEL (model)); - gal_view_collection_delete_view (model->collection, n); - e_table_model_row_deleted (E_TABLE_MODEL (model), n); -} - -/** - * gal_define_views_model_copy_view: - * @model: The GalDefineViewsModel. - * @n: Which view to copy. - * - * Copys the nth view. - */ -void -gal_define_views_model_copy_view (GalDefineViewsModel *model, - gint n) -{ - ETableModel *etm = E_TABLE_MODEL (model); - e_table_model_pre_change (etm); - gal_view_collection_copy_view (model->collection, n); - e_table_model_row_inserted ( - etm, gal_view_collection_get_count (model->collection) - 1); -} |