aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/printing/e-contact-print-style-editor.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-02-02 09:16:29 +0800
committerChris Lahey <clahey@src.gnome.org>2000-02-02 09:16:29 +0800
commitc499722cef56ddd2ebfd8d2ff2c6c21c8918a9b0 (patch)
treed89f7b3b24a3bc8094f0d883226ebd4b0901423e /addressbook/printing/e-contact-print-style-editor.c
parent1da8f9c265082e10fb9694a6bf92a0bae2b1312b (diff)
downloadgsoc2013-evolution-c499722cef56ddd2ebfd8d2ff2c6c21c8918a9b0.tar.gz
gsoc2013-evolution-c499722cef56ddd2ebfd8d2ff2c6c21c8918a9b0.tar.zst
gsoc2013-evolution-c499722cef56ddd2ebfd8d2ff2c6c21c8918a9b0.zip
Files to load the contact print style editor from the glade file. Doesn't
2000-01-28 Christopher James Lahey <clahey@helixcode.com> * addressbook/printing/e-contact-print-style-editor.h, addressbook/printing/e-contact-print-style-editor.c, addressbook/printing/test-contact-print-style-editor.c: Files to load the contact print style editor from the glade file. Doesn't really do anything yet. * addressbook/printing/Makefile.am: Added style editor stuff. * addressbook/printing/e-contact-print.glade: Changed a bit. Fixed an out of place widget. * addressbook/printing/.cvsignore: Added contact-print-style-editor-test. * addressbook/printing/smallbook.ecps: Fixed up the values to match the new types. * addressbook/printing/medbook.ecps, addressbook/printing/phonelist.ecps: Added two new printing styles. * addressbook/printing/e-contact-print.h: Fixed an incorrect comment. * addressbook/printing/e-contact-print.c: Added columns and letter tabs. Tweaked spacing all over the place. Fixed card height function so that column wrapping is always done correctly. Added pulling of style information from a file. Added line wrapping within each text field. * addressbook/printing/e-contact-print-types.h: Added a type field for different types of print styles. svn path=/trunk/; revision=1659
Diffstat (limited to 'addressbook/printing/e-contact-print-style-editor.c')
-rw-r--r--addressbook/printing/e-contact-print-style-editor.c150
1 files changed, 150 insertions, 0 deletions
diff --git a/addressbook/printing/e-contact-print-style-editor.c b/addressbook/printing/e-contact-print-style-editor.c
new file mode 100644
index 0000000000..5eb5cadacf
--- /dev/null
+++ b/addressbook/printing/e-contact-print-style-editor.c
@@ -0,0 +1,150 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * e-contact-print-style-editor.c
+ * 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.
+ */
+
+#include <gnome.h>
+#include "e-contact-print-style-editor.h"
+static void e_contact_print_style_editor_init (EContactPrintStyleEditor *card);
+static void e_contact_print_style_editor_class_init (EContactPrintStyleEditorClass *klass);
+static void e_contact_print_style_editor_set_arg (GtkObject *o, GtkArg *arg, guint arg_id);
+static void e_contact_print_style_editor_get_arg (GtkObject *object, GtkArg *arg, guint arg_id);
+static void e_contact_print_style_editor_destroy (GtkObject *object);
+
+static GtkVBoxClass *parent_class = NULL;
+
+
+/* The arguments we take */
+enum {
+ ARG_0,
+ ARG_CARD
+};
+
+GtkType
+e_contact_print_style_editor_get_type (void)
+{
+ static GtkType contact_print_style_editor_type = 0;
+
+ if (!contact_print_style_editor_type)
+ {
+ static const GtkTypeInfo contact_print_style_editor_info =
+ {
+ "EContactPrintStyleEditor",
+ sizeof (EContactPrintStyleEditor),
+ sizeof (EContactPrintStyleEditorClass),
+ (GtkClassInitFunc) e_contact_print_style_editor_class_init,
+ (GtkObjectInitFunc) e_contact_print_style_editor_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ contact_print_style_editor_type = gtk_type_unique (gtk_vbox_get_type (), &contact_print_style_editor_info);
+ }
+
+ return contact_print_style_editor_type;
+}
+
+static void
+e_contact_print_style_editor_class_init (EContactPrintStyleEditorClass *klass)
+{
+ GtkObjectClass *object_class;
+ GtkVBoxClass *vbox_class;
+
+ object_class = (GtkObjectClass*) klass;
+ vbox_class = (GtkVBoxClass *) klass;
+
+ parent_class = gtk_type_class (gtk_vbox_get_type ());
+
+ object_class->set_arg = e_contact_print_style_editor_set_arg;
+ object_class->get_arg = e_contact_print_style_editor_get_arg;
+ object_class->destroy = e_contact_print_style_editor_destroy;
+}
+
+#if 0
+static void
+_add_image(GtkTable *table, gchar *image, int left, int right, int top, int bottom)
+{
+ gtk_table_attach(table,
+ gtk_widget_new(gtk_alignment_get_type(),
+ "child", gnome_pixmap_new_from_file(image),
+ "xalign", (double) 0,
+ "yalign", (double) 0,
+ "xscale", (double) 0,
+ "yscale", (double) 0,
+ NULL),
+ left, right, top, bottom,
+ GTK_FILL, GTK_FILL,
+ 0, 0);
+}
+#endif
+
+static void
+e_contact_print_style_editor_init (EContactPrintStyleEditor *e_contact_print_style_editor)
+{
+ GladeXML *gui;
+
+ /* e_contact_print_style_editor->card = NULL;*/
+ gui = glade_xml_new (EVOLUTION_GLADEDIR "/e-contact-print.glade", NULL);
+ e_contact_print_style_editor->gui = gui;
+ gtk_widget_reparent(glade_xml_get_widget(gui, "vbox-contact-print-style-editor"),
+ GTK_WIDGET(e_contact_print_style_editor));
+}
+
+void
+e_contact_print_style_editor_destroy (GtkObject *object)
+{
+ EContactPrintStyleEditor *e_contact_print_style_editor = E_CONTACT_PRINT_STYLE_EDITOR(object);
+ gtk_object_unref(GTK_OBJECT(e_contact_print_style_editor->gui));
+}
+
+GtkWidget*
+e_contact_print_style_editor_new (char *filename)
+{
+ GtkWidget *widget = GTK_WIDGET (gtk_type_new (e_contact_print_style_editor_get_type ()));
+ return widget;
+}
+
+static void
+e_contact_print_style_editor_set_arg (GtkObject *o, GtkArg *arg, guint arg_id)
+{
+ EContactPrintStyleEditor *e_contact_print_style_editor;
+
+ e_contact_print_style_editor = E_CONTACT_PRINT_STYLE_EDITOR (o);
+
+ switch (arg_id){
+ default:
+ break;
+ }
+}
+
+static void
+e_contact_print_style_editor_get_arg (GtkObject *object, GtkArg *arg, guint arg_id)
+{
+ EContactPrintStyleEditor *e_contact_print_style_editor;
+
+ e_contact_print_style_editor = E_CONTACT_PRINT_STYLE_EDITOR (object);
+
+ switch (arg_id) {
+ default:
+ arg->type = GTK_TYPE_INVALID;
+ break;
+ }
+}