mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Refactor: DECLARE/DEFINE_INTERFACE GncWindow < GObject
This commit is contained in:
parent
8e360bbe84
commit
d3bf654b11
@ -58,7 +58,7 @@ static QofLogModule log_module = GNC_MOD_GUI;
|
||||
static void gnc_embedded_window_finalize (GObject *object);
|
||||
static void gnc_embedded_window_dispose (GObject *object);
|
||||
|
||||
static void gnc_window_embedded_window_init (GncWindowIface *iface);
|
||||
static void gnc_window_embedded_window_init (GncWindowInterface *iface);
|
||||
|
||||
static void gnc_embedded_window_setup_window (GncEmbeddedWindow *window);
|
||||
|
||||
@ -499,7 +499,7 @@ gnc_embedded_window_get_accel_group (GncWindow *window)
|
||||
* @param iface A pointer to the interface data structure to
|
||||
* populate. */
|
||||
static void
|
||||
gnc_window_embedded_window_init (GncWindowIface *iface)
|
||||
gnc_window_embedded_window_init (GncWindowInterface *iface)
|
||||
{
|
||||
iface->get_gtk_window = gnc_embedded_window_get_gtk_window;
|
||||
iface->get_statusbar = gnc_embedded_window_get_statusbar;
|
||||
|
@ -154,7 +154,7 @@ static void gnc_main_window_finalize (GObject *object);
|
||||
static void gnc_main_window_destroy (GtkWidget *widget);
|
||||
|
||||
static void gnc_main_window_setup_window (GncMainWindow *window);
|
||||
static void gnc_window_main_window_init (GncWindowIface *iface);
|
||||
static void gnc_window_main_window_init (GncWindowInterface *iface);
|
||||
#ifndef MAC_INTEGRATION
|
||||
static void gnc_main_window_update_all_menu_items (void);
|
||||
#endif
|
||||
@ -5453,7 +5453,7 @@ gnc_main_window_get_accel_group (GncWindow *window)
|
||||
* @param iface A pointer to the interface data structure to
|
||||
* populate. */
|
||||
static void
|
||||
gnc_window_main_window_init (GncWindowIface *iface)
|
||||
gnc_window_main_window_init (GncWindowInterface *iface)
|
||||
{
|
||||
iface->get_gtk_window = gnc_main_window_get_gtk_window;
|
||||
iface->get_statusbar = gnc_main_window_get_statusbar;
|
||||
|
@ -34,33 +34,11 @@
|
||||
|
||||
static QofLogModule log_module = GNC_MOD_GUI;
|
||||
|
||||
GType
|
||||
gnc_window_get_type (void)
|
||||
G_DEFINE_INTERFACE (GncWindow, gnc_window, G_TYPE_OBJECT)
|
||||
|
||||
static void
|
||||
gnc_window_default_init (GncWindowInterface *klass)
|
||||
{
|
||||
static GType gnc_window_type = 0;
|
||||
|
||||
if (gnc_window_type == 0)
|
||||
{
|
||||
static const GTypeInfo our_info =
|
||||
{
|
||||
sizeof (GncWindowIface),
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
0,
|
||||
NULL
|
||||
};
|
||||
|
||||
gnc_window_type = g_type_register_static (G_TYPE_INTERFACE,
|
||||
"GncWindow",
|
||||
&our_info, 0);
|
||||
g_type_interface_add_prerequisite (gnc_window_type, G_TYPE_OBJECT);
|
||||
}
|
||||
|
||||
return gnc_window_type;
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
|
@ -48,14 +48,10 @@ G_BEGIN_DECLS
|
||||
|
||||
/* type macros */
|
||||
#define GNC_TYPE_WINDOW (gnc_window_get_type ())
|
||||
#define GNC_WINDOW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_WINDOW, GncWindow))
|
||||
#define GNC_IS_WINDOW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_WINDOW))
|
||||
#define GNC_WINDOW_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GNC_TYPE_WINDOW, GncWindowIface))
|
||||
G_DECLARE_INTERFACE (GncWindow, gnc_window, GNC, WINDOW, GObject)
|
||||
|
||||
/* typedefs & structures */
|
||||
typedef struct GncWindow GncWindow; /* dummy typedef */
|
||||
|
||||
typedef struct
|
||||
struct _GncWindowInterface
|
||||
{
|
||||
GTypeInterface parent;
|
||||
|
||||
@ -68,11 +64,9 @@ typedef struct
|
||||
GMenuModel * (* get_menubar_model) (GncWindow *window);
|
||||
GtkAccelGroup * (* get_accel_group) (GncWindow *window);
|
||||
void (* ui_set_sensitive) (GncWindow *window, gboolean sensitive);
|
||||
} GncWindowIface;
|
||||
};
|
||||
|
||||
/* function prototypes */
|
||||
GType gnc_window_get_type (void);
|
||||
|
||||
GtkWindow *gnc_window_get_gtk_window (GncWindow *window);
|
||||
|
||||
void gnc_window_update_status (GncWindow *window, GncPluginPage *page);
|
||||
|
Loading…
Reference in New Issue
Block a user