aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/e-minicard/e-reflow-sorted.h
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-04-09 06:10:47 +0800
committerChris Lahey <clahey@src.gnome.org>2000-04-09 06:10:47 +0800
commit58e7df4e0376d1248ced78659d27d61adc1434b9 (patch)
treeedda4073e9e79d89b8bb9a34498049259998718d /widgets/e-minicard/e-reflow-sorted.h
parent6beb74f53508f0f92ad5ed0fe7e823b6a5be76f3 (diff)
downloadgsoc2013-evolution-58e7df4e0376d1248ced78659d27d61adc1434b9.tar
gsoc2013-evolution-58e7df4e0376d1248ced78659d27d61adc1434b9.tar.gz
gsoc2013-evolution-58e7df4e0376d1248ced78659d27d61adc1434b9.tar.bz2
gsoc2013-evolution-58e7df4e0376d1248ced78659d27d61adc1434b9.tar.lz
gsoc2013-evolution-58e7df4e0376d1248ced78659d27d61adc1434b9.tar.xz
gsoc2013-evolution-58e7df4e0376d1248ced78659d27d61adc1434b9.tar.zst
gsoc2013-evolution-58e7df4e0376d1248ced78659d27d61adc1434b9.zip
pixmap_DATA isn't defined so don't use it as a variable.
2000-04-08 Christopher James Lahey <clahey@helixcode.com> * art/Makefile.am: pixmap_DATA isn't defined so don't use it as a variable. * addressbook/gui/component/, addressbook/gui/component/.cvsignore, addressbook/gui/Makefile.am, addressbook/gui/component/addressbook-factory.c, addressbook/gui/component/addressbook.c, addressbook/gui/component/addressbook.gnorba, addressbook/gui/component/addressbook.h: New directory to proivde the component for contact management. Simply uses an e-minicard-view. * addressbook/gui/minicard/e-minicard-view.c, addressbook/gui/minicard/e-minicard-view.h: New subclass of e-reflow-sorted that takes an EBook and uses it to compute the card data to display. * addressbook/gui/minicard/e-minicard.c, addressbook/gui/minicard/e-minicard.h: This now backends to a ECard instead of a ETableModel. * addressbook/gui/minicard/e-reflow.c, addressbook/gui/minicard/e-reflow.h: This now has a virtualized add method. * addressbook/gui/minicard/e-reflow-sorted.c, addressbook/gui/minicard/e-reflow-sorted.h: New subclass of e-reflow that allows the data to be sorted on the fly. * addressbook/gui/minicard/test-minicard-view.c: New test to test the new minicard view. * addressbook/gui/minicard/test-reflow.c: Uses the new ECard backend of the e-minicard. * addressbook/gui/minicard/.cvsignore, addressbook/gui/minicard/Makefile.am: Added new test. Fixed dependencies. Added new files. * addressbook/gui/, addressbook/gui/Makefile.am, addressbook/gui/.cvsignore: New directory for addressbook gui bits. Added subdirectories. Created an initial .cvsignore. * addressbook/Makefile.am (SUBDIRS): Removed demo and added gui. * addressbook/backend/pas/pas-backend-file.c: Added code to do notification on bookviews when changes in the backend are made. * addressbook/backend/pas/pas-book-view.c, addressbook/backend/pas/pas-book-view.h: Added helper functions to notify the view about the addition or modification of a single card. Fixed a mistaken extra free. * addressbook/backend/ebook/e-card-list-iterator.h: Fixed incorrect parent class. * addressbook/backend/ebook/test-client.c: Made this accept an optional parameter that specifies the vcard to add. * configure.in: Replaced widgets/e-minicard/Makefile and addressbook/demo/Makefile with addressbook/gui/minicard/Makefile and addressbook/gui/component/Makefile respectively. * widgets/Makefile.am: Removed e-minicard since it's being moved to addressbook/gui/minicard. * widgets/e-text/e-text.c: Fixed the border width around tooltips and made the main tooltip area yellow. From camel/ChangeLog: 2000-04-08 Christopher James Lahey <clahey@helixcode.com> * providers/smtp/.cvsignore: Added a .cvsignore file. From calendar/ChangeLog: 2000-04-08 Christopher James Lahey <clahey@helixcode.com> * gui/Makefile.am: Removed linking with libetable and libeminicard since they weren't being used. svn path=/trunk/; revision=2343
Diffstat (limited to 'widgets/e-minicard/e-reflow-sorted.h')
-rw-r--r--widgets/e-minicard/e-reflow-sorted.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/widgets/e-minicard/e-reflow-sorted.h b/widgets/e-minicard/e-reflow-sorted.h
new file mode 100644
index 0000000000..4ffec7579b
--- /dev/null
+++ b/widgets/e-minicard/e-reflow-sorted.h
@@ -0,0 +1,87 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/* e-reflow-sorted.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_REFLOW_SORTED_H__
+#define __E_REFLOW_SORTED_H__
+
+#include <e-reflow.h>
+
+#ifdef __cplusplus
+extern "C" {
+#pragma }
+#endif /* __cplusplus */
+
+/* EReflowSorted - A canvas item container.
+ *
+ * The following arguments are available:
+ *
+ * name type read/write description
+ * --------------------------------------------------------------------------------
+ * 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_REFLOW_SORTED_TYPE (e_reflow_sorted_get_type ())
+#define E_REFLOW_SORTED(obj) (GTK_CHECK_CAST ((obj), E_REFLOW_SORTED_TYPE, EReflowSorted))
+#define E_REFLOW_SORTED_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_REFLOW_SORTED_TYPE, EReflowSortedClass))
+#define E_IS_REFLOW_SORTED(obj) (GTK_CHECK_TYPE ((obj), E_REFLOW_SORTED_TYPE))
+#define E_IS_REFLOW_SORTED_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), E_REFLOW_SORTED_TYPE))
+
+typedef char * (* EReflowStringFunc) (GnomeCanvasItem *);
+
+typedef struct _EReflowSorted EReflowSorted;
+typedef struct _EReflowSortedClass EReflowSortedClass;
+
+/* FIXME: Try reimplementing this as a hash table with key as string
+ and change EReflow to use a GTree. */
+struct _EReflowSorted
+{
+ EReflow parent;
+
+ /* item specific fields */
+ GCompareFunc compare_func;
+ EReflowStringFunc string_func;
+};
+
+struct _EReflowSortedClass
+{
+ EReflowClass parent_class;
+};
+
+/*
+ * To be added to a reflow, an item must have the argument "width" as
+ * a Read/Write argument and "height" as a Read Only argument. It
+ * should also do an ECanvas parent reflow request if its size
+ * changes.
+ */
+void e_reflow_sorted_remove_item (EReflowSorted *sorted, const char *id);
+void e_reflow_sorted_replace_item (EReflowSorted *sorted, GnomeCanvasItem *item);
+GtkType e_reflow_sorted_get_type (void);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* __E_REFLOW_SORTED_H__ */