2001-05-15 Chris Toshok <toshok@ximian.com> * 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
101 lines
3.2 KiB
C
101 lines
3.2 KiB
C
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
|
/* e-minicard-view.h
|
|
* Copyright (C) 2000 Helix Code, Inc.
|
|
* Author: Chris Lahey <clahey@helixcode.com>
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* 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
|
|
* General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public
|
|
* License along with this library; if not, write to the
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
* Boston, MA 02111-1307, USA.
|
|
*/
|
|
#ifndef __E_MINICARD_VIEW_H__
|
|
#define __E_MINICARD_VIEW_H__
|
|
|
|
#include "e-minicard.h"
|
|
|
|
#include <gal/widgets/e-reflow.h>
|
|
#include <gal/widgets/e-selection-model-simple.h>
|
|
#include "addressbook/backend/ebook/e-book.h"
|
|
#include "e-addressbook-reflow-adapter.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#pragma }
|
|
#endif /* __cplusplus */
|
|
|
|
/* EMinicardView - A canvas item container.
|
|
*
|
|
* The following arguments are available:
|
|
*
|
|
* name type read/write description
|
|
* --------------------------------------------------------------------------------
|
|
* book EBook RW book to query
|
|
* query string RW query string
|
|
*
|
|
* From EReflowSorted: (you should really know what you're doing if you set these.)
|
|
* compare_func GCompareFunc RW compare function
|
|
* string_func EReflowStringFunc RW string function
|
|
*
|
|
* From EReflow:
|
|
* minimum_width double RW minimum width of the reflow. width >= minimum_width
|
|
* width double R width of the reflow
|
|
* height double RW height of the reflow
|
|
*/
|
|
|
|
#define E_MINICARD_VIEW_TYPE (e_minicard_view_get_type ())
|
|
#define E_MINICARD_VIEW(obj) (GTK_CHECK_CAST ((obj), E_MINICARD_VIEW_TYPE, EMinicardView))
|
|
#define E_MINICARD_VIEW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_MINICARD_VIEW_TYPE, EMinicardViewClass))
|
|
#define E_IS_MINICARD_VIEW(obj) (GTK_CHECK_TYPE ((obj), E_MINICARD_VIEW_TYPE))
|
|
#define E_IS_MINICARD_VIEW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), E_MINICARD_VIEW_TYPE))
|
|
|
|
|
|
typedef struct _EMinicardView EMinicardView;
|
|
typedef struct _EMinicardViewClass EMinicardViewClass;
|
|
|
|
struct _EMinicardView
|
|
{
|
|
EReflow parent;
|
|
|
|
EAddressbookReflowAdapter *adapter;
|
|
|
|
/* item specific fields */
|
|
|
|
ESelectionModelSimple *selection;
|
|
|
|
GList *drag_list;
|
|
|
|
int canvas_destroy_id;
|
|
int canvas_drag_data_get_id;
|
|
|
|
int status_message_id;
|
|
};
|
|
|
|
struct _EMinicardViewClass
|
|
{
|
|
EReflowClass parent_class;
|
|
};
|
|
|
|
GtkType e_minicard_view_get_type (void);
|
|
void e_minicard_view_remove_selection (EMinicardView *view,
|
|
EBookCallback cb,
|
|
gpointer closure);
|
|
void e_minicard_view_jump_to_letter (EMinicardView *view,
|
|
char letter);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
#endif /* __E_MINICARD_VIEW_H__ */
|