diff options
-rw-r--r-- | widgets/menus/gal-define-views-dialog.c | 150 | ||||
-rw-r--r-- | widgets/menus/gal-define-views-dialog.h | 72 | ||||
-rw-r--r-- | widgets/menus/gal-define-views.glade | 351 |
3 files changed, 573 insertions, 0 deletions
diff --git a/widgets/menus/gal-define-views-dialog.c b/widgets/menus/gal-define-views-dialog.c new file mode 100644 index 0000000000..7afe99f647 --- /dev/null +++ b/widgets/menus/gal-define-views-dialog.c @@ -0,0 +1,150 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* gal-define-views-dialog.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 <config.h> +#include <gnome.h> +#include "gal-define-views-dialog.h" +#include <gal/e-table/e-table-simple.h> + +static void gal_define_views_dialog_init (GalDefineViewsDialog *card); +static void gal_define_views_dialog_class_init (GalDefineViewsDialogClass *klass); +static void gal_define_views_dialog_set_arg (GtkObject *o, GtkArg *arg, guint arg_id); +static void gal_define_views_dialog_get_arg (GtkObject *object, GtkArg *arg, guint arg_id); +static void gal_define_views_dialog_destroy (GtkObject *object); + +static GnomeDialogClass *parent_class = NULL; +#define PARENT_TYPE gnome_dialog_get_type() + +/* The arguments we take */ +enum { + ARG_0, +}; + +typedef struct { + char *title; + ETableModel *model; + GalDefineViewsDialog *names; +} GalDefineViewsDialogChild; + +GtkType +gal_define_views_dialog_get_type (void) +{ + static GtkType type = 0; + + if (!type) { + static const GtkTypeInfo info = + { + "GalDefineViewsDialog", + sizeof (GalDefineViewsDialog), + sizeof (GalDefineViewsDialogClass), + (GtkClassInitFunc) gal_define_views_dialog_class_init, + (GtkObjectInitFunc) gal_define_views_dialog_init, + /* reserved_1 */ NULL, + /* reserved_2 */ NULL, + (GtkClassInitFunc) NULL, + }; + + type = gtk_type_unique (PARENT_TYPE, &info); + } + + return type; +} + +static void +gal_define_views_dialog_class_init (GalDefineViewsDialogClass *klass) +{ + GtkObjectClass *object_class; + + object_class = (GtkObjectClass*) klass; + + parent_class = gtk_type_class (PARENT_TYPE); + + object_class->set_arg = gal_define_views_dialog_set_arg; + object_class->get_arg = gal_define_views_dialog_get_arg; + object_class->destroy = gal_define_views_dialog_destroy; +} + +static void +gal_define_views_dialog_init (GalDefineViewsDialog *gal_define_views_dialog) +{ + GladeXML *gui; + GtkWidget *widget; + + gui = glade_xml_new (GAL_GLADEDIR "/gal-define-views.glade", NULL); + gal_define_views_dialog->gui = gui; + + widget = glade_xml_get_widget(gui, "table-top"); + if (!widget) { + return; + } + gtk_widget_ref(widget); + gtk_widget_unparent(widget); + gtk_box_pack_start(GTK_BOX(GNOME_DIALOG(gal_define_views_dialog)->vbox), widget, TRUE, TRUE, 0); + gtk_widget_unref(widget); + + gnome_dialog_append_buttons(GNOME_DIALOG(gal_define_views_dialog), + GNOME_STOCK_BUTTON_OK, + GNOME_STOCK_BUTTON_CANCEL, + NULL); + + gtk_window_set_policy(GTK_WINDOW(gal_define_views_dialog), FALSE, TRUE, FALSE); +} + +static void +gal_define_views_dialog_destroy (GtkObject *object) { + GalDefineViewsDialog *gal_define_views_dialog = GAL_DEFINE_VIEWS_DIALOG(object); + + gtk_object_unref(GTK_OBJECT(gal_define_views_dialog->gui)); +} + +GtkWidget* +gal_define_views_dialog_new (void) +{ + GtkWidget *widget = GTK_WIDGET (gtk_type_new (gal_define_views_dialog_get_type ())); + return widget; +} + +static void +gal_define_views_dialog_set_arg (GtkObject *o, GtkArg *arg, guint arg_id) +{ + GalDefineViewsDialog *editor; + + editor = GAL_DEFINE_VIEWS_DIALOG (o); + + switch (arg_id){ + default: + return; + } +} + +static void +gal_define_views_dialog_get_arg (GtkObject *object, GtkArg *arg, guint arg_id) +{ + GalDefineViewsDialog *gal_define_views_dialog; + + gal_define_views_dialog = GAL_DEFINE_VIEWS_DIALOG (object); + + switch (arg_id) { + default: + arg->type = GTK_TYPE_INVALID; + break; + } +} diff --git a/widgets/menus/gal-define-views-dialog.h b/widgets/menus/gal-define-views-dialog.h new file mode 100644 index 0000000000..aaa3ce06a1 --- /dev/null +++ b/widgets/menus/gal-define-views-dialog.h @@ -0,0 +1,72 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* gal-define-views-dialog.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 __GAL_DEFINE_VIEWS_DIALOG_H__ +#define __GAL_DEFINE_VIEWS_DIALOG_H__ + +#include <gnome.h> +#include <glade/glade.h> + +#ifdef __cplusplus +extern "C" { +#pragma } +#endif /* __cplusplus */ + +/* GalDefineViewsDialog - A dialog displaying information about a contact. + * + * The following arguments are available: + * + * name type read/write description + * -------------------------------------------------------------------------------- + */ + +#define GAL_DEFINE_VIEWS_DIALOG_TYPE (gal_define_views_dialog_get_type ()) +#define GAL_DEFINE_VIEWS_DIALOG(obj) (GTK_CHECK_CAST ((obj), GAL_DEFINE_VIEWS_DIALOG_TYPE, GalDefineViewsDialog)) +#define GAL_DEFINE_VIEWS_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GAL_DEFINE_VIEWS_DIALOG_TYPE, GalDefineViewsDialogClass)) +#define GAL_IS_DEFINE_VIEWS_DIALOG(obj) (GTK_CHECK_TYPE ((obj), GAL_DEFINE_VIEWS_DIALOG_TYPE)) +#define GAL_IS_DEFINE_VIEWS_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), GAL_DEFINE_VIEWS_DIALOG_TYPE)) + +typedef struct _GalDefineViewsDialog GalDefineViewsDialog; +typedef struct _GalDefineViewsDialogClass GalDefineViewsDialogClass; + +struct _GalDefineViewsDialog +{ + GnomeDialog parent; + + /* item specific fields */ + GladeXML *gui; +}; + +struct _GalDefineViewsDialogClass +{ + GnomeDialogClass parent_class; +}; + +GtkWidget *gal_define_views_dialog_new (void); +GtkType gal_define_views_dialog_get_type (void); + +void gal_define_views_dialog_add_section (GalDefineViewsDialog *gal_define_views_dialog); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + + +#endif /* __GAL_DEFINE_VIEWS_DIALOG_H__ */ diff --git a/widgets/menus/gal-define-views.glade b/widgets/menus/gal-define-views.glade new file mode 100644 index 0000000000..32938fd030 --- /dev/null +++ b/widgets/menus/gal-define-views.glade @@ -0,0 +1,351 @@ +<?xml version="1.0"?> +<GTK-Interface> + +<project> + <name>gal-define-views</name> + <program_name>gal-define-views</program_name> + <directory></directory> + <source_directory>src</source_directory> + <pixmaps_directory>pixmaps</pixmaps_directory> + <language>C</language> + <gnome_support>True</gnome_support> + <gettext_support>True</gettext_support> + <use_widget_names>True</use_widget_names> + <output_main_file>False</output_main_file> + <output_support_files>False</output_support_files> + <output_build_files>False</output_build_files> + <gnome_help_support>True</gnome_help_support> + <output_translatable_strings>True</output_translatable_strings> + <translatable_strings_file>gal-define-views.glade.h</translatable_strings_file> +</project> + +<widget> + <class>GnomeDialog</class> + <name>dialog1</name> + <visible>False</visible> + <title>Define Views for "%s"</title> + <type>GTK_WINDOW_TOPLEVEL</type> + <position>GTK_WIN_POS_NONE</position> + <modal>False</modal> + <allow_shrink>False</allow_shrink> + <allow_grow>True</allow_grow> + <auto_shrink>False</auto_shrink> + <auto_close>False</auto_close> + <hide_on_close>False</hide_on_close> + + <widget> + <class>GtkVBox</class> + <child_name>GnomeDialog:vbox</child_name> + <name>dialog-vbox1</name> + <homogeneous>False</homogeneous> + <spacing>8</spacing> + <child> + <padding>4</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkHButtonBox</class> + <child_name>GnomeDialog:action_area</child_name> + <name>dialog-action_area1</name> + <layout_style>GTK_BUTTONBOX_END</layout_style> + <spacing>8</spacing> + <child_min_width>85</child_min_width> + <child_min_height>27</child_min_height> + <child_ipad_x>7</child_ipad_x> + <child_ipad_y>0</child_ipad_y> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + <pack>GTK_PACK_END</pack> + </child> + + <widget> + <class>GtkButton</class> + <name>button1</name> + <can_default>True</can_default> + <can_focus>True</can_focus> + <stock_button>GNOME_STOCK_BUTTON_OK</stock_button> + </widget> + + <widget> + <class>GtkButton</class> + <name>button7</name> + <can_default>True</can_default> + <can_focus>True</can_focus> + <stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button> + </widget> + </widget> + + <widget> + <class>GtkTable</class> + <name>table-top</name> + <rows>5</rows> + <columns>1</columns> + <homogeneous>False</homogeneous> + <row_spacing>6</row_spacing> + <column_spacing>6</column_spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkFrame</class> + <name>frame1</name> + <label>Description</label> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>3</top_attach> + <bottom_attach>4</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkTable</class> + <name>table-description</name> + <border_width>6</border_width> + <rows>1</rows> + <columns>2</columns> + <homogeneous>False</homogeneous> + <row_spacing>6</row_spacing> + <column_spacing>6</column_spacing> + </widget> + </widget> + + <widget> + <class>GtkHBox</class> + <name>hbox1</name> + <homogeneous>False</homogeneous> + <spacing>6</spacing> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>True</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkButton</class> + <name>button4</name> + <can_focus>True</can_focus> + <label>Table HERE</label> + <relief>GTK_RELIEF_NORMAL</relief> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> + + <widget> + <class>GtkVBox</class> + <name>vbox1</name> + <homogeneous>False</homogeneous> + <spacing>6</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + + <widget> + <class>GtkButton</class> + <name>button11</name> + <can_focus>True</can_focus> + <label>_New...</label> + <relief>GTK_RELIEF_NORMAL</relief> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkButton</class> + <name>button-copy</name> + <can_focus>True</can_focus> + <label>_Copy...</label> + <relief>GTK_RELIEF_NORMAL</relief> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkButton</class> + <name>button-modify</name> + <can_focus>True</can_focus> + <label>_Modify...</label> + <relief>GTK_RELIEF_NORMAL</relief> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkButton</class> + <name>button-rename</name> + <can_focus>True</can_focus> + <label>_Rename...</label> + <relief>GTK_RELIEF_NORMAL</relief> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkButton</class> + <name>button-delete</name> + <can_focus>True</can_focus> + <label>_Delete...</label> + <relief>GTK_RELIEF_NORMAL</relief> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkButton</class> + <name>button-up</name> + <can_focus>True</can_focus> + <label>Move _Up</label> + <relief>GTK_RELIEF_NORMAL</relief> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkButton</class> + <name>button-down</name> + <can_focus>True</can_focus> + <label>Move Do_wn</label> + <relief>GTK_RELIEF_NORMAL</relief> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + </widget> + </widget> + + <widget> + <class>GtkHButtonBox</class> + <name>hbuttonbox1</name> + <layout_style>GTK_BUTTONBOX_END</layout_style> + <spacing>6</spacing> + <child_min_width>85</child_min_width> + <child_min_height>27</child_min_height> + <child_ipad_x>7</child_ipad_x> + <child_ipad_y>0</child_ipad_y> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>4</top_attach> + <bottom_attach>5</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + </widget> + + <widget> + <class>GtkAlignment</class> + <name>alignment3</name> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xscale>0</xscale> + <yscale>1</yscale> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>2</top_attach> + <bottom_attach>3</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>True</yfill> + </child> + + <widget> + <class>GtkButton</class> + <name>button12</name> + <can_focus>True</can_focus> + <label>Re_set to Factory Defaults...</label> + <relief>GTK_RELIEF_NORMAL</relief> + </widget> + </widget> + + <widget> + <class>GtkLabel</class> + <name>label-views</name> + <label>Views for "%s"</label> + <justify>GTK_JUSTIFY_LEFT</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> + </widget> + </widget> +</widget> + +</GTK-Interface> |