diff options
author | Xan Lopez <xan@igalia.com> | 2012-01-17 03:11:40 +0800 |
---|---|---|
committer | Xan Lopez <xan@igalia.com> | 2012-01-17 03:11:40 +0800 |
commit | 52cdd6df6cb561a48032358b3eedce16cfa2c9fb (patch) | |
tree | 1170c07244b9a2fba83251880900f8894887ae27 /src/ephy-window-action.h | |
parent | 1150405cc1bc50d6c258cb723a76ae90d8945f73 (diff) | |
download | gsoc2013-epiphany-52cdd6df6cb561a48032358b3eedce16cfa2c9fb.tar gsoc2013-epiphany-52cdd6df6cb561a48032358b3eedce16cfa2c9fb.tar.gz gsoc2013-epiphany-52cdd6df6cb561a48032358b3eedce16cfa2c9fb.tar.bz2 gsoc2013-epiphany-52cdd6df6cb561a48032358b3eedce16cfa2c9fb.tar.lz gsoc2013-epiphany-52cdd6df6cb561a48032358b3eedce16cfa2c9fb.tar.xz gsoc2013-epiphany-52cdd6df6cb561a48032358b3eedce16cfa2c9fb.tar.zst gsoc2013-epiphany-52cdd6df6cb561a48032358b3eedce16cfa2c9fb.zip |
Refactor GtkActions with attached EphyWindows
Make a GtkAction subclass that only holds an EphyWindow and nothing
else, and use it throughout. Allows us to kill some duplicated code.
Diffstat (limited to 'src/ephy-window-action.h')
-rw-r--r-- | src/ephy-window-action.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/ephy-window-action.h b/src/ephy-window-action.h new file mode 100644 index 000000000..388bdfaeb --- /dev/null +++ b/src/ephy-window-action.h @@ -0,0 +1,62 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* + * Copyright © 2012 Igalia S.L. + * + * This program 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, 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 program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#if !defined (__EPHY_EPIPHANY_H_INSIDE__) && !defined (EPIPHANY_COMPILATION) +#error "Only <epiphany/epiphany.h> can be included directly." +#endif + +#ifndef EPHY_WINDOW_ACTION_H +#define EPHY_WINDOW_ACTION_H + +#include "ephy-window.h" + +#include <gtk/gtk.h> + +G_BEGIN_DECLS + +#define EPHY_TYPE_WINDOW_ACTION (ephy_window_action_get_type ()) +#define EPHY_WINDOW_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EPHY_TYPE_WINDOW_ACTION, EphyWindowAction)) +#define EPHY_WINDOW_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EPHY_TYPE_WINDOW_ACTION, EphyWindowActionClass)) +#define EPHY_IS_WINDOW_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EPHY_TYPE_WINDOW_ACTION)) +#define EPHY_IS_WINDOW_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), EPHY_TYPE_WINDOW_ACTION)) +#define EPHY_WINDOW_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EPHY_TYPE_WINDOW_ACTION, EphyWindowActionClass)) + +typedef struct _EphyWindowAction EphyWindowAction; +typedef struct _EphyWindowActionPrivate EphyWindowActionPrivate; +typedef struct _EphyWindowActionClass EphyWindowActionClass; + +struct _EphyWindowAction { + GtkAction parent; + + /*< private >*/ + EphyWindowActionPrivate *priv; +}; + +struct _EphyWindowActionClass { + GtkActionClass parent_class; +}; + +GType ephy_window_action_get_type (void); + +EphyWindow *ephy_window_action_get_window (EphyWindowAction *action); + +G_END_DECLS + +#endif |