/* GTK - The GIMP Toolkit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library 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. */ /* * Modified by the GTK+ Team and others 1997-1999. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ /* * included in camel because it is not exported * by gtk * * Bertrand Guiheneuf */ /* collect a single argument value from a va_list. * this is implemented as a huge macro , because we can't * pass va_list variables by reference on some systems. * the corresponding prototype would be: * static inline gchar* * gtk_arg_collect_value (GtkArg *arg, * va_list var_args); */ #define CAMEL_ARG_COLLECT_VALUE(arg, var_args, _error) \ G_STMT_START { \ gchar *error_msg; \ GtkType fundamental_type; \ \ fundamental_type = GTK_FUNDAMENTAL_TYPE (arg->type); \ if (fundamental_type > GTK_TYPE_FUNDAMENTAL_LAST) \ { \ fundamental_type = gtk_type_get_varargs_type (fundamental_type); \ if (!fundamental_type) \ fundamental_type = GTK_FUNDAMENTAL_TYPE (arg->type); \ } \ \ error_msg = NULL; \ switch (fundamental_type) \ { \ case GTK_TYPE_INVALID: \ error_msg = g_strdup ("invalid untyped argument"); \ break; \ \ case GTK_TYPE_NONE: \ /* we just ignore this type, since it arithmetically just requires \ * us to not move the var_args pointer any further. callers need to \ * check for the validity of GTK_TYPE_NONE themselves. \ * \ * error_msg = g_strdup ("invalid argument type `void'"); \ */ \ break; \ \ /* everything smaller than an int is guarranteed to be \ * passed as an int \ */ \ case GTK_TYPE_CHAR: \ GTK_VALUE_CHAR (*arg) = va_arg (var_args, gint); \ break; \ case GTK_TYPE_UCHAR: \ GTK_VALUE_UCHAR (*arg) = va_arg (var_args, guint); \ break; \ case GTK_TYPE_BOOL: \ GTK_VALUE_BOOL (*arg) = va_arg (var_args, gint); \ break; \ case GTK_TYPE_INT: \ GTK_VALUE_INT (*arg) = va_arg (var_args, gint); \ break; \ case GTK_TYPE_UINT: \ GTK_VALUE_UINT (*arg) = va_arg (var_args, guint); \ break; \ case GTK_TYPE_ENUM: \ GTK_VALUE_ENUM (*arg) = va_arg (var_args, gint); \ break; \ case GTK_TYPE_FLAGS: \ GTK_VALUE_FLAGS (*arg) = va_arg (var_args, guint); \ break; \ \ /* we collect longs as glongs since they differ in size with \ * integers on some platforms \ */ \ case GTK_TYPE_LONG: \ GTK_VALUE_LONG (*arg) = va_arg (var_args, glong); \ break; \ case GTK_TYPE_ULONG: \ GTK_VALUE_ULONG (*arg) = va_arg (var_args, gulong); \ break; \ \ /* floats are always passed as doubles \ */ \ case GTK_TYPE_FLOAT: \ /* GTK_VALUE_FLOAT (*arg) = va_arg (var_args, gfloat); */ \ GTK_VALUE_FLOAT (*arg) = va_arg (var_args, gdouble); \ break; \ case GTK_TYPE_DOUBLE: \ GTK_VALUE_DOUBLE (*arg) = va_arg (var_args, gdouble); \ break; \ \ /* collect pointer values \ */ \ case GTK_TYPE_STRING: \ GTK_VALUE_STRING (*arg) = va_arg (var_args, gchar*); \ break; \ case GTK_TYPE_POINTER: \ GTK_VALUE_POINTER (*arg) = va_arg (var_args, gpointer); \ break; \ case GTK_TYPE_BOXED: \ GTK_VALUE_BOXED (*arg) = va_arg (var_args, gpointer); \ break; \ \ /* structured types \ */ \ case GTK_TYPE_SIGNAL: \ GTK_VALUE_SIGNAL (*arg).f = va_arg (var_args, GtkSignalFunc); \ GTK_VALUE_SIGNAL (*arg).d = va_arg (var_args, gpointer); \ break; \ case GTK_TYPE_ARGS: \ GTK_VALUE_ARGS (*arg).n_args = va_arg (var_args, gint); \ GTK_VALUE_ARGS (*arg).args = va_arg (var_args, GtkArg*); \ break; \ case GTK_TYPE_FOREIGN: \ GTK_VALUE_FOREIGN (*arg).data = va_arg (var_args, gpointer); \ GTK_VALUE_FOREIGN (*arg).notify = va_arg (var_args, GtkDestroyNotify); \ break; \ case GTK_TYPE_CALLBACK: \ GTK_VALUE_CALLBACK (*arg).marshal = va_arg (var_args, GtkCallbackMarshal); \ GTK_VALUE_CALLBACK (*arg).data = va_arg (var_args, gpointer); \ GTK_VALUE_CALLBACK (*arg).notify = va_arg (var_args, GtkDestroyNotify); \ break; \ case GTK_TYPE_C_CALLBACK: \ GTK_VALUE_C_CALLBACK (*arg).func = va_arg (var_args, GtkFunction); \ GTK_VALUE_C_CALLBACK (*arg).func_data = va_arg (var_args, gpointer); \ break; \ \ /* we do some extra sanity checking when collecting objects, \ * i.e. if the object pointer is not NULL, we check whether we \ * actually got an object pointer within the desired class branch. \ */ \ case GTK_TYPE_OBJECT: \ GTK_VALUE_OBJECT (*arg) = va_arg (var_args, GtkObject*); \ if (GTK_VALUE_OBJECT (*arg) != NULL) \ { \ register GtkObject *object = GTK_VALUE_OBJECT (*arg); \ \ if (object->klass == NULL) \ error_msg = g_strconcat ("invalid unclassed object pointer for argument type `", \ gtk_type_name (arg->type), \ "'", \ NULL); \ else if (!gtk_type_is_a (GTK_OBJECT_TYPE (object), arg->type)) \ error_msg = g_strconcat ("invalid object `", \ gtk_type_name (GTK_OBJECT_TYPE (object)), \ "' for argument type `", \ gtk_type_name (arg->type), \ "'", \ NULL); \ } \ break; \ \ default: \ error_msg = g_strconcat ("unsupported argument type `", \ gtk_type_name (arg->type), \ "'", \ NULL); \ break; \ } \ \ _error = error_msg; /* return error_msg; */ \ } G_STMT_END ss='insertions'>+15 * Made it so that columns would be properly indented.Christopher James Lahey2000-03-067-10/+47 * Have identical values get sorted by their actual row.Christopher James Lahey2000-03-063-0/+11 * Draw selected row.Christopher James Lahey2000-03-063-4/+28 * Add a "row_selection" signal.Christopher James Lahey2000-03-0615-2/+189 * Add stuff, revamp stuffMiguel de Icaza2000-03-062-30/+110 * Added Miguel to the author list for ETable.Christopher James Lahey2000-03-064-0/+28 * Fixed e_xml_set_integer_prop_by_name.Christopher James Lahey2000-03-063-6/+10 * track moveSeth Alves2000-03-062-14/+18 * move all but the subdir line into gui/Makefile.am, since the codeSeth Alves2000-03-061-236/+1 * create a makefile in calendar/guiSeth Alves2000-03-061-0/+1 * stubs for client side access to alarm structures. this will probablySeth Alves2000-03-0617-79/+269 * More file moving action - FedericoFederico Mena Quintero2000-03-0666-20102/+0 * Added support for the sorting info. The Etable creates a sort_info object,Christopher James Lahey2000-03-0623-25/+992 * Added a prototype message listing.Christopher James Lahey2000-03-052-5/+26 * Commenting added. (on_url_data_requested): renamed fromMatthew Loper2000-03-052-111/+154 * Tons of fixes to fix thingsBertrand Guiheneuf2000-03-058-32/+79 * Output 'and' bits between the rules.NotZed2000-03-052-0/+8 * More gramatically correct descriptions + more action rules.Michael Zucci2000-03-051-5/+23 * Actually implement filtering, at least, from Inbox. Copy messages toNotZed2000-03-053-95/+276 * Ref the summary after we have got it.NotZed2000-03-052-0/+16 * Added saving of frozen_columns count. Added a vertical scrollbar toChristopher James Lahey2000-03-054-3/+28 * Added e_xml_set_integer_prop_by_name.Christopher James Lahey2000-03-055-0/+23 * Set up the column headers properly.Christopher James Lahey2000-03-053-2/+10 * Push the proper visual and colormap for ETable to work.Christopher James Lahey2000-03-053-0/+16 * Define ml_duplicate_value and ml_free_value correctly.Christopher James Lahey2000-03-052-1/+44 * stream the raw content instead of nothing if the encoding is notbertrand2000-03-055-9/+17 * Use g_int_compare and g_str_compare as we should be instead of g_int_equalChristopher James Lahey2000-03-052-10/+15 * Touched this up a bit.Christopher James Lahey2000-03-056-14/+35 * sync for debugging with chrisBertrand Guiheneuf2000-03-054-7/+25 * Change this to use the ETable widget itself instead of building it fromChristopher James Lahey2000-03-052-3/+10 * Add 3 test examplesBertrand Guiheneuf2000-03-053-0/+8554 * Message browser can now display attachment inline when BonoboBertrand Guiheneuf2000-03-051-6/+17 * Fixed a crash error.Christopher James Lahey2000-03-053-0/+6 * Fixed a compile warning.Christopher James Lahey2000-03-055-38/+44 * laptop syncBertrand Guiheneuf2000-03-041-1/+92 * add bonobo to the build process.bertrand2000-03-043-4/+56 * bonobo-goad-id is the good key to look for. (get_bonobo_tag_for_object):bertrand2000-03-043-3/+15 * this is not right, but it gets this closer to building.Seth Alves2000-03-043-3/+3 * make a makefile for calendar/cal-util directorySeth Alves2000-03-041-0/+1 * added some .cvsignore filesSeth Alves2000-03-044-0/+33 * new file -- things shared between the client and server go in thisSeth Alves2000-03-0447-1951/+806 * clarifyDan Winship2000-03-042-10/+12 * use set_input_stream instead of construct_from_stream to feed the messagebertrand2000-03-046-13/+58 * New doc for the ETable widget.Christopher James Lahey2000-03-046-26/+500 * I always forget to add the stupid files - FedericoFederico Mena Quintero2000-03-041-0/+66 * Try move messages with gnome in the subject ot the Gnome folder.Michael Zucci2000-03-041-3/+26 * Make sure we open with create with a creation mask.NotZed2000-03-043-4/+23 * Added a bunch of stuff to the TODO list. Put +s before a few of the itemsChristopher James Lahey2000-03-048-28/+323 * Removed some unused code.Christopher James Lahey2000-03-049-16/+23 * Ref the table columns since we unref them at the end.Christopher James Lahey2000-03-042-1/+8 * initialize gdkrgb. Push visual/colormap. (on_url_requested): in the casebertrand2000-03-042-0/+56 * in the case of images, put the content object output stream in the url.bertrand2000-03-043-7/+12 * add gnomeprint to be able to link with gtkhtmlBertrand Guiheneuf2000-03-031-1/+1 * fixed state 0 keep value.bertrand2000-03-032-2/+7 * acronym fix 2Bertrand Guiheneuf2000-03-032-2/+2 * Camel acronym meaning fix.Bertrand Guiheneuf2000-03-032-2/+4 * don't forget to set the state to 0 after 3. (my_read_encode): don't forgetbertrand2000-03-039-277/+347 * Disconnect the list signal, so we dont get spurious emits during destroy.NotZed2000-03-037-41/+163 * use CamelStreamB64 type for the input stream.bertrand2000-03-034-7/+22 * fix implementation so that it writes properly to the output stream even.bertrand2000-03-023-6/+24 * Bonobization of the message composer, part 1.Ettore Perazzoli2000-03-025-35/+187 * At this point the calendar client and personal calendar server files wereFederico Mena Quintero2000-03-026-12/+23 * Don't use libglade for menus and toolbars in the message composerEttore Perazzoli2000-03-025-679/+17 * More reorganization - FedericoFederico Mena Quintero2000-03-026-247/+11 * Shut up!Ettore Perazzoli2000-03-021-8/+14 * Various building fixes. At least, now it builds for me.Ettore Perazzoli2000-03-0210-15/+70 * Automakeize the `filter' directory.Ettore Perazzoli2000-03-024-32/+51 * Moved to the pcs/ directory - FedericoFederico Mena Quintero2000-03-0212-2776/+21 * Added calendar/idl/Makefile, calendar/cal-client/Makefile, andFederico Mena Quintero2000-03-022-0/+9 * At this point the calendar client and personal calendar server files wereFederico Mena Quintero2000-03-026-204/+61 * Moved to cal-client/ - FedericoFederico Mena Quintero2000-03-026-1514/+0 * Moved to idl/evolution-calendar.idlFederico Mena Quintero2000-03-021-127/+0 * Use the gnome-config flags for orbit-idl. Create a libcal-client libraryFederico Mena Quintero2000-03-025-6/+59 * add an Ibex whitepaperDan Winship2000-03-024-0/+324 * Removed stale rule for the conduit.Federico Mena Quintero2000-03-013-18/+18 * Sections for the calendar user agent and the calendar client library.Federico Mena Quintero2000-03-014-6/+124 * Reorg a bit more, make the <PRE> section narrower, add more references toDan Winship2000-03-014-24/+72 * Added camel-stream-buffer to build.NotZed2000-03-013-0/+558 * Don't show the tooltip if the text is being editted or isn't clipped.Iain Holmes2000-03-014-6/+56 * Test frozen columnsChristopher James Lahey2000-03-0116-3/+1176 * Added test program.NotZed2000-03-015-1/+168 * Remove gui code, this will be actual filtering code.NotZed2000-03-015-263/+34 * scout intaBertrand Guiheneuf2000-02-291-1/+4 * new utility function.bertrand2000-02-295-47/+91 * revert strange changes.bertrand2000-02-294-4/+19 * make it work with "make install"Bertrand Guiheneuf2000-02-291-0/+3 * Sync - FedericoFederico Mena Quintero2000-02-292-0/+20 * Fix a bunch of serious small bugs.NotZed2000-02-298-87/+74 * No, its not a fatal error to search on a non-searchable folder, you justNotZed2000-02-293-10/+25 * Fixed references to libutil.a -> libeutil.laMichael Zucci2000-02-299-12/+26 * Removed unused header.NotZed2000-02-293-3/+4 * Removed references to filter-sexp.[ch].NotZed2000-02-295-1230/+27 * Added. moved from filter-sexp.[ch]NotZed2000-02-295-5/+1220 * Fixed a typo.NotZed2000-02-294-43/+50 * add Bertrand to authors, edit his additionsDan Winship2000-02-294-74/+104 * Talk about virtual folders.Bertrand Guiheneuf2000-02-294-2/+72 * add a blurb about camel offering uniform interface. needs style andbertrand2000-02-294-0/+28 * Fixed a couple of crash bugs.Christopher James Lahey2000-02-285-6/+11 * non blocking b64 encoding is a PITABertrand Guiheneuf2000-02-283-59/+308 * Compilation error.Chris Lahey2000-02-283-18/+20 * Updated these to use the canvas ::update system properly.Chris Lahey2000-02-285-128/+149 * beginnings of a Camel white paperDan Winship2000-02-284-0/+544 * Section for the personal calendar server.Federico Mena Quintero2000-02-284-6/+206 * required fileSeth Alves2000-02-261-0/+12 * required filesSeth Alves2000-02-262-0/+2 * added autogen.sh so this library can be build on its ownSeth Alves2000-02-263-1/+116 * start using ChangeLog in this librarySeth Alves2000-02-261-0/+9 * make libicalss installableSeth Alves2000-02-261-2/+2 * renamed a couple files so that automake will be my friendSeth Alves2000-02-264-14/+15 * New file for the Evolution calendaring white paper.Federico Mena Quintero2000-02-264-0/+106 * fix up check of LINGUAS variable so that we don't get problems whenJames Henstridge2000-02-262-1/+7 * chuuuut.Mathieu Lacage2000-02-263-2/+10 * add gtk-doc-style commentsDan Winship2000-02-265-8/+144 * s/1.0/1/ for interface version.Elliot Lee2000-02-261-2/+2 * Made the E table item redraw properly.Christopher James Lahey2000-02-255-12/+38 * Made carriage return stop editting instead of inserting a carriage return.Christopher James Lahey2000-02-253-16/+29 * Added e_xml_get_integer_prop_by_name.Christopher James Lahey2000-02-2513-4/+143 * Added duplicate_value and add_value. Use the new compare functions. MadeChristopher James Lahey2000-02-25