aboutsummaryrefslogtreecommitdiffstats
path: root/shell/test
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@src.gnome.org>2008-08-14 11:51:16 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2008-08-14 11:51:16 +0800
commitcca29c3424aede2bb3c9ec5a6d255ce490d3511b (patch)
tree7fd4bce6f45b46ce4d925e446c9741327f47fab5 /shell/test
parent4fe52955d1583e6895bf85cf62b08102d0923962 (diff)
downloadgsoc2013-evolution-cca29c3424aede2bb3c9ec5a6d255ce490d3511b.tar
gsoc2013-evolution-cca29c3424aede2bb3c9ec5a6d255ce490d3511b.tar.gz
gsoc2013-evolution-cca29c3424aede2bb3c9ec5a6d255ce490d3511b.tar.bz2
gsoc2013-evolution-cca29c3424aede2bb3c9ec5a6d255ce490d3511b.tar.lz
gsoc2013-evolution-cca29c3424aede2bb3c9ec5a6d255ce490d3511b.tar.xz
gsoc2013-evolution-cca29c3424aede2bb3c9ec5a6d255ce490d3511b.tar.zst
gsoc2013-evolution-cca29c3424aede2bb3c9ec5a6d255ce490d3511b.zip
Demonstrate displaying the test shell view.
Also get the "Switcher Appearance" menu working... mostly. Still need to respond to GtkSettings notifications and make the preference persistent. svn path=/branches/kill-bonobo/; revision=35985
Diffstat (limited to 'shell/test')
-rw-r--r--shell/test/Makefile.am4
-rw-r--r--shell/test/e-test-shell-module.c (renamed from shell/test/evolution-test-module.c)3
-rw-r--r--shell/test/e-test-shell-view.c79
-rw-r--r--shell/test/e-test-shell-view.h66
4 files changed, 151 insertions, 1 deletions
diff --git a/shell/test/Makefile.am b/shell/test/Makefile.am
index f667ee42fe..e355da60c8 100644
--- a/shell/test/Makefile.am
+++ b/shell/test/Makefile.am
@@ -8,7 +8,9 @@ INCLUDES = \
$(EVOLUTION_TEST_CFLAGS)
libevolution_test_la_SOURCES = \
- evolution-test-module.c
+ e-test-shell-module.c \
+ e-test-shell-view.c \
+ e-test-shell-view.h
libevolution_test_la_LIBADD = \
$(top_builddir)/shell/libeshell.la \
diff --git a/shell/test/evolution-test-module.c b/shell/test/e-test-shell-module.c
index a2ec2c7915..16515c1e30 100644
--- a/shell/test/evolution-test-module.c
+++ b/shell/test/e-test-shell-module.c
@@ -20,6 +20,8 @@
#include <e-shell-module.h>
+#include "e-test-shell-view.h"
+
#define MODULE_SORT_ORDER 100
#define MODULE_ALIASES "test"
#define MODULE_SCHEMES ""
@@ -82,5 +84,6 @@ void
e_shell_module_init (GTypeModule *module)
{
g_type_module_set_name (module, "name");
+ module_info.shell_view_type = e_test_shell_view_get_type (module);
e_shell_module_set_info (E_SHELL_MODULE (module), &module_info);
}
diff --git a/shell/test/e-test-shell-view.c b/shell/test/e-test-shell-view.c
new file mode 100644
index 0000000000..7b2ff9a251
--- /dev/null
+++ b/shell/test/e-test-shell-view.c
@@ -0,0 +1,79 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+/* e-test-shell-view.c
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU General Public
+ * License as published by the Free Software Foundation.
+ *
+ * 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 program; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "e-test-shell-view.h"
+
+#include <glib/gi18n.h>
+
+#define E_TEST_SHELL_VIEW_GET_PRIVATE(obj) \
+ (G_TYPE_INSTANCE_GET_PRIVATE \
+ ((obj), E_TYPE_TEST_SHELL_VIEW, ETestShellViewPrivate))
+
+struct _ETestShellViewPrivate {
+ gint dummy_value;
+};
+
+GType e_test_shell_view_type = 0;
+static gpointer parent_class;
+
+static void
+test_shell_view_class_init (ETestShellViewClass *class)
+{
+ EShellViewClass *shell_view_class;
+
+ parent_class = g_type_class_peek_parent (class);
+ g_type_class_add_private (class, sizeof (ETestShellViewPrivate));
+
+ shell_view_class = E_SHELL_VIEW_CLASS (class);
+ shell_view_class->label = N_("Test");
+ shell_view_class->icon_name = "face-monkey";
+}
+
+static void
+test_shell_view_init (ETestShellView *test_view)
+{
+ test_view->priv = E_TEST_SHELL_VIEW_GET_PRIVATE (test_view);
+}
+
+GType
+e_test_shell_view_get_type (GTypeModule *module)
+{
+ if (e_test_shell_view_type == 0) {
+ const GTypeInfo type_info = {
+ sizeof (ETestShellViewClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) test_shell_view_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL, /* class_data */
+ sizeof (ETestShellView),
+ 0, /* n_preallocs */
+ (GInstanceInitFunc) test_shell_view_init,
+ NULL /* value_table */
+ };
+
+ e_test_shell_view_type =
+ g_type_module_register_type (
+ module, E_TYPE_SHELL_VIEW,
+ "ETestShellView", &type_info, 0);
+ }
+
+ return e_test_shell_view_type;
+}
diff --git a/shell/test/e-test-shell-view.h b/shell/test/e-test-shell-view.h
new file mode 100644
index 0000000000..036ebc3877
--- /dev/null
+++ b/shell/test/e-test-shell-view.h
@@ -0,0 +1,66 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+/* e-test-shell-view.h
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU General Public
+ * License as published by the Free Software Foundation.
+ *
+ * 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 program; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef E_TEST_SHELL_VIEW_H
+#define E_TEST_SHELL_VIEW_H
+
+#include <e-shell-view.h>
+
+/* Standard GObject macros */
+#define E_TYPE_TEST_SHELL_VIEW \
+ (e_test_shell_view_type)
+#define E_TEST_SHELL_VIEW(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST \
+ ((obj), E_TYPE_TEST_SHELL_VIEW, ETestShellView))
+#define E_TEST_SHELL_VIEW_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_CAST \
+ ((cls), E_TYPE_TEST_SHELL_VIEW, ETestShellViewClass))
+#define E_IS_TEST_SHELL_VIEW(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE \
+ ((obj), E_TYPE_TEST_SHELL_VIEW))
+#define E_IS_TEST_SHELL_VIEW_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_TYPE \
+ ((cls), E_TYPE_TEST_SHELL_VIEW))
+#define E_TEST_SHELL_VIEW_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS \
+ ((obj), E_TYPE_TEST_SHELL_VIEW, ETestShellViewClass))
+
+G_BEGIN_DECLS
+
+extern GType e_test_shell_view_type;
+
+typedef struct _ETestShellView ETestShellView;
+typedef struct _ETestShellViewClass ETestShellViewClass;
+typedef struct _ETestShellViewPrivate ETestShellViewPrivate;
+
+struct _ETestShellView {
+ EShellView parent;
+ ETestShellViewPrivate *priv;
+};
+
+struct _ETestShellViewClass {
+ EShellViewClass parent_class;
+};
+
+GType e_test_shell_view_get_type (GTypeModule *module);
+
+G_END_DECLS
+
+#endif /* E_TEST_SHELL_VIEW_H */