From 934524b95cb86abae6b1457ff5d4853fb702cb87 Mon Sep 17 00:00:00 2001 From: Chris Toshok Date: Wed, 16 May 2001 05:17:09 +0000 Subject: MinicardViewModel -> ReflowAdapter name change. (get_card_list): same. 2001-05-15 Chris Toshok * gui/widgets/e-minicard-view.c (add_to_list): MinicardViewModel -> ReflowAdapter name change. (get_card_list): same. (e_minicard_view_drag_begin): same. (supported_fields_cb): model -> adapter. (adapter_changed): hook up signals and set the empty message on our adapter. (e_minicard_view_set_arg): add support for "adapter", and set model -> adapter. (e_minicard_view_get_arg): same. (disconnect_signals): no more status_message. (do_remove): track to use adapter. (e_minicard_view_class_init): add adapter arg, and remove status_message. (e_minicard_view_init): all the code here is in adapter_changed now. * gui/widgets/e-minicard-view.h (struct _EMinicardView): EMinicardViewModel -> EAddressbookReflowAdapter. (struct _EMinicardViewClass): get rid of status_message. * gui/widgets/e-minicard-view-widget.c (e_minicard_view_widget_class_init): remove the status_message signal. (e_minicard_view_widget_new): take the adapter as our argument, and store it away for when we create the view. (e_minicard_view_widget_realize): when we create the view just set the adapter field on it. also, don't connect to status_message. * gui/widgets/e-minicard-view-widget.h (struct _EMinicardViewWidget): add our adapter here, so we can pass it into the view when we create it. (struct _EMinicardViewWidgetClass): remove status_message. * gui/widgets/e-addressbook-view.c (status_message): new function, no more propagating status messages! (e_addressbook_view_init): create our model and conenct to its status_message signal. (book_writable_cb): set "editable" on the model, not our object. (e_addressbook_view_set_arg): same, but with "book" and "query" as well. (create_minicard_view): create our reflow adapter and pass it to the minicard view widget. also, call e_reflow_model_changed so it'll pick up any already present cards. (table_double_click): ADDRESSBOOK_MODEL -> TABLE_ADAPTER. (get_card_list_1): remove the cast, since we don't need it any longer. (table_right_click): ADDRESSBOOK_MODEL -> TABLE_ADAPTER. (table_drag_data_get): same. (create_table_view): create the table adapter, and use it as our ETableModel. (change_view_type): remove the status_message hook up and setting of query/book/editable. (e_addressbook_view_stop): just call e_addressbook_model_stop here instead of switching on the view type. * gui/widgets/e-addressbook-view.h (struct _EAddressbookView): add our EAddressbookModel. * gui/widgets/Makefile.am (libeminicard_a_SOURCES): add the adapter files, and remove e-minicard-view-model.[ch]. * gui/widgets/e-minicard-view-model.[ch]: removed. * gui/widgets/e-addressbook-table-adapter.c: new file. * gui/widgets/e-addressbook-table-adapter.h: new file. * gui/widgets/e-addressbook-reflow-adapter.c: new file. * gui/widgets/e-addressbook-reflow-adapter.h: new file. * gui/widgets/e-addressbook-model.c: rework this class to now subclass from ETableModel anymore. It not subclasses from GtkObject, and we use table and reflow adapters to get at the data. * gui/widgets/e-addressbook-model.h: same. svn path=/trunk/; revision=9837 --- addressbook/gui/widgets/e-addressbook-model.h | 36 +++++++++++++++------------ 1 file changed, 20 insertions(+), 16 deletions(-) (limited to 'addressbook/gui/widgets/e-addressbook-model.h') diff --git a/addressbook/gui/widgets/e-addressbook-model.h b/addressbook/gui/widgets/e-addressbook-model.h index 79a606b314..f8fd01b535 100644 --- a/addressbook/gui/widgets/e-addressbook-model.h +++ b/addressbook/gui/widgets/e-addressbook-model.h @@ -2,7 +2,6 @@ #ifndef _E_ADDRESSBOOK_MODEL_H_ #define _E_ADDRESSBOOK_MODEL_H_ -#include #include "addressbook/backend/ebook/e-book.h" #include "addressbook/backend/ebook/e-book-view.h" #include "addressbook/backend/ebook/e-card-simple.h" @@ -13,18 +12,11 @@ #define E_IS_ADDRESSBOOK_MODEL(o) (GTK_CHECK_TYPE ((o), E_ADDRESSBOOK_MODEL_TYPE)) #define E_IS_ADDRESSBOOK_MODEL_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), E_ADDRESSBOOK_MODEL_TYPE)) -/* Virtual Column list: - 0 Email - 1 Full Name - 2 Street - 3 Phone -*/ - typedef struct _EAddressbookModel EAddressbookModel; typedef struct _EAddressbookModelClass EAddressbookModelClass; struct _EAddressbookModel { - ETableModel parent; + GtkObject parent; /* item specific fields */ EBook *book; @@ -33,8 +25,9 @@ struct _EAddressbookModel { int get_view_idle; - ECardSimple **data; + ECard **data; int data_count; + int allocated_count; int create_card_id, remove_card_id, modify_card_id, status_message_id; @@ -44,21 +37,32 @@ struct _EAddressbookModel { struct _EAddressbookModelClass { - ETableModelClass parent_class; + GtkObjectClass parent_class; /* * Signals */ void (*status_message) (EAddressbookModel *model, const gchar *message); + void (*card_added) (EAddressbookModel *model, gint index, gint count); + void (*card_removed) (EAddressbookModel *model, gint index); + void (*card_changed) (EAddressbookModel *model, gint index); + void (*model_changed) (EAddressbookModel *model); }; -GtkType e_addressbook_model_get_type (void); -ETableModel *e_addressbook_model_new (void); +GtkType e_addressbook_model_get_type (void); +EAddressbookModel *e_addressbook_model_new (void); /* Returns object with ref count of 1. */ -ECard *e_addressbook_model_get_card(EAddressbookModel *model, - int row); -void e_addressbook_model_stop (EAddressbookModel *model); +ECard *e_addressbook_model_get_card (EAddressbookModel *model, + int row); +EBook *e_addressbook_model_get_ebook (EAddressbookModel *model); + +void e_addressbook_model_stop (EAddressbookModel *model); + + +int e_addressbook_model_card_count (EAddressbookModel *model); +ECard *e_addressbook_model_card_at (EAddressbookModel *model, int index); +gboolean e_addressbook_model_editable (EAddressbookModel *model); #endif /* _E_ADDRESSBOOK_MODEL_H_ */ -- cgit v1.2.3