[balsa/wip/gtk4: 299/351] balsa-mblist: Use G_DECLARE_FINAL_TYPE
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa/wip/gtk4: 299/351] balsa-mblist: Use G_DECLARE_FINAL_TYPE
- Date: Wed, 23 May 2018 21:42:06 +0000 (UTC)
commit 2875df20e03d16b818299cad7eb031cdc4039b83
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Fri Apr 27 23:11:35 2018 -0400
balsa-mblist: Use G_DECLARE_FINAL_TYPE
src/balsa-mblist.c | 52 +++++++++-------------------------------------------
src/balsa-mblist.h | 21 ++++++---------------
2 files changed, 15 insertions(+), 58 deletions(-)
---
diff --git a/src/balsa-mblist.c b/src/balsa-mblist.c
index 3884343..e22a64e 100644
--- a/src/balsa-mblist.c
+++ b/src/balsa-mblist.c
@@ -79,10 +79,7 @@ static const gchar * bmbl_drop_types[] = {
"x-application/x-message-list"
};
-static GtkTreeViewClass *parent_class = NULL;
-
/* class methods */
-static void bmbl_class_init(BalsaMBListClass * klass);
static void bmbl_set_property(GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec);
static void bmbl_get_property(GObject * object, guint prop_id,
@@ -91,7 +88,6 @@ static gboolean bmbl_drag_motion(GtkWidget * mblist,
GdkDragContext * context, gint x, gint y,
guint time);
static gboolean bmbl_popup_menu(GtkWidget * widget);
-static void bmbl_init(BalsaMBList * mblist);
static gboolean bmbl_selection_func(GtkTreeSelection * selection,
GtkTreeModel * model,
GtkTreePath * path,
@@ -139,32 +135,7 @@ static void bmbl_expand_to_row(BalsaMBList * mblist, GtkTreePath * path);
/* class methods */
-GType
-balsa_mblist_get_type(void)
-{
- static GType mblist_type = 0;
-
- if (!mblist_type) {
- static const GTypeInfo mblist_info = {
- sizeof(BalsaMBListClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) bmbl_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof(BalsaMBList),
- 0, /* n_preallocs */
- (GInstanceInitFunc) bmbl_init
- };
-
- mblist_type =
- g_type_register_static(GTK_TYPE_TREE_VIEW,
- "BalsaMBList",
- &mblist_info, 0);
- }
-
- return mblist_type;
-}
+G_DEFINE_TYPE(BalsaMBList, balsa_mblist, GTK_TYPE_TREE_VIEW)
static void
bmbl_dispose(GObject * object)
@@ -173,17 +144,15 @@ bmbl_dispose(GObject * object)
g_clear_object(&mblist->gesture);
- G_OBJECT_CLASS(parent_class)->dispose(object);
+ G_OBJECT_CLASS(balsa_mblist_parent_class)->dispose(object);
}
static void
-bmbl_class_init(BalsaMBListClass * klass)
+balsa_mblist_class_init(BalsaMBListClass * klass)
{
GObjectClass *object_class;
GtkWidgetClass *widget_class;
- parent_class = g_type_class_peek_parent(klass);
-
object_class = (GObjectClass *) klass;
widget_class = (GtkWidgetClass *) klass;
@@ -193,9 +162,7 @@ bmbl_class_init(BalsaMBListClass * klass)
g_signal_new("has-unread-mailbox",
G_TYPE_FROM_CLASS(object_class),
G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET(BalsaMBListClass, has_unread_mailbox),
- NULL, NULL,
- g_cclosure_marshal_VOID__INT,
+ 0, NULL, NULL, NULL,
G_TYPE_NONE,
1, G_TYPE_INT);
@@ -208,9 +175,6 @@ bmbl_class_init(BalsaMBListClass * klass)
widget_class->drag_motion = bmbl_drag_motion;
widget_class->popup_menu = bmbl_popup_menu;
- /* Signals */
- klass->has_unread_mailbox = NULL;
-
/* Properties */
g_object_class_install_property(object_class, PROP_SHOW_CONTENT_INFO,
g_param_spec_boolean
@@ -318,8 +282,10 @@ bmbl_drag_motion(GtkWidget * mblist, GdkDragContext * context, gint x,
gboolean can_drop;
ret_val =
- GTK_WIDGET_CLASS(parent_class)->drag_motion(mblist, context, x, y,
- time);
+ GTK_WIDGET_CLASS(balsa_mblist_parent_class)->drag_motion(mblist,
+ context,
+ x, y,
+ time);
gtk_tree_view_get_drag_dest_row(tree_view, &path, NULL);
if (!path)
@@ -343,7 +309,7 @@ bmbl_drag_motion(GtkWidget * mblist, GdkDragContext * context, gint x,
* callbacks
*/
static void
-bmbl_init(BalsaMBList * mblist)
+balsa_mblist_init(BalsaMBList * mblist)
{
GtkTreeStore *store = balsa_mblist_get_store();
GtkTreeView *tree_view = GTK_TREE_VIEW(mblist);
diff --git a/src/balsa-mblist.h b/src/balsa-mblist.h
index 114c290..f8453a3 100644
--- a/src/balsa-mblist.h
+++ b/src/balsa-mblist.h
@@ -23,13 +23,13 @@
#include <gtk/gtk.h>
#include "mailbox-node.h"
-#define BALSA_TYPE_MBLIST (balsa_mblist_get_type ())
-#define BALSA_MBLIST(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, BALSA_TYPE_MBLIST, BalsaMBList)
-#define BALSA_MBLIST_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, BALSA_TYPE_MBLIST, BalsaMBListClass)
-#define BALSA_IS_MBLIST(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, BALSA_TYPE_MBLIST)
+#define BALSA_TYPE_MBLIST balsa_mblist_get_type ()
-typedef struct _BalsaMBList BalsaMBList;
-typedef struct _BalsaMBListClass BalsaMBListClass;
+G_DECLARE_FINAL_TYPE(BalsaMBList,
+ balsa_mblist,
+ BALSA,
+ MBLIST,
+ GtkTreeView)
struct _BalsaMBList {
GtkTreeView tree_view;
@@ -46,15 +46,6 @@ struct _BalsaMBList {
GtkGesture *gesture;
};
-struct _BalsaMBListClass {
- GtkTreeViewClass parent_class;
-
- void (*has_unread_mailbox)(BalsaMBList * mblist,
- gboolean has_unread_mailbox);
-};
-
-GType balsa_mblist_get_type(void);
-
GtkWidget *balsa_mblist_new(void);
GtkTreeStore *balsa_mblist_get_store(void);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]