aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSrinivasa Ragavan <sragavan@gnome.org>2010-07-08 03:10:22 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-07-26 09:29:58 +0800
commit8ac8ea3de8cb717e95c49b468b64037b80f1376c (patch)
treeecabd3bc789fba0997d9123e2beac13197487725
parent68aa811ea45a0b68c3d675ec9ccdaaf5159daae5 (diff)
downloadgsoc2013-evolution-8ac8ea3de8cb717e95c49b468b64037b80f1376c.tar.gz
gsoc2013-evolution-8ac8ea3de8cb717e95c49b468b64037b80f1376c.tar.zst
gsoc2013-evolution-8ac8ea3de8cb717e95c49b468b64037b80f1376c.zip
Add base class for every page.
-rw-r--r--mail/e-mail-pane.c75
-rw-r--r--mail/e-mail-pane.h49
2 files changed, 124 insertions, 0 deletions
diff --git a/mail/e-mail-pane.c b/mail/e-mail-pane.c
new file mode 100644
index 0000000000..879a90bce1
--- /dev/null
+++ b/mail/e-mail-pane.c
@@ -0,0 +1,75 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ *
+ * Authors:
+ * Srinivasa Ragavan <sragavan@gnome.org>
+ *
+ * Copyright (C) 2010 Intel corporation. (www.intel.com)
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+
+#include <glib.h>
+#include <glib/gi18n.h>
+#include "e-mail-pane.h"
+
+
+G_DEFINE_TYPE (EMailPane, e_mail_pane, GTK_TYPE_VBOX)
+
+enum {
+ PANE_CLOSE,
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
+static void
+e_mail_pane_init (EMailPane *shell)
+{
+ shell->priv = g_new0(EMailPanePrivate, 1);
+}
+
+static void
+e_mail_pane_finalize (GObject *object)
+{
+ /* EMailPane *shell = (EMailPane *)object; */
+
+ G_OBJECT_CLASS (e_mail_pane_parent_class)->finalize (object);
+}
+
+static void
+e_mail_pane_class_init (EMailPaneClass *klass)
+{
+ GObjectClass * object_class = G_OBJECT_CLASS (klass);
+
+ e_mail_pane_parent_class = g_type_class_peek_parent (klass);
+ object_class->finalize = e_mail_pane_finalize;
+
+ signals[PANE_CLOSE] =
+ g_signal_new ("pane-close",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ G_STRUCT_OFFSET (EMailPaneClass , view_close),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+
+}
+
+
diff --git a/mail/e-mail-pane.h b/mail/e-mail-pane.h
new file mode 100644
index 0000000000..f8383d2b76
--- /dev/null
+++ b/mail/e-mail-pane.h
@@ -0,0 +1,49 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ *
+ * Authors:
+ * Srinivasa Ragavan <sragavan@gnome.org>
+ *
+ * Copyright (C) 2010 Intel corporation. (www.intel.com)
+ *
+ */
+
+#ifndef _E_MAIL_PANE_H_
+#define _E_MAIL_PANE_H_
+
+#include <gtk/gtk.h>
+
+#define E_MAIL_PANE_TYPE (e_mail_pane_get_type ())
+#define E_MAIL_PANE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_MAIL_PANE_TYPE, MailFolderView))
+#define E_MAIL_PANE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_MAIL_PANE_TYPE, MailFolderViewClass))
+#define IS_E_MAIL_PANE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_MAIL_PANE_TYPE))
+#define IS_E_MAIL_PANE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_MAIL_PANE_TYPE))
+#define E_MAIL_PANE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), E_MAIL_PANE_TYPE, EMailPaneClass))
+
+
+typedef struct _EMailPanePrivate EMailPanePrivate;
+
+typedef struct _EMailPane {
+ GtkVBox parent;
+
+ EMailPanePrivate *priv;
+} EMailPane;
+
+typedef struct _EMailPaneClass {
+ GtkVBoxClass parent_class;
+
+} EMailPaneClass;
+
+#endif