Skip to content

Commit

Permalink
Merge Richard Cohen's 'declare-type-gncsearch' into stable.
Browse files Browse the repository at this point in the history
  • Loading branch information
jralls committed Jun 16, 2023
2 parents 2e58dd8 + a8943dc commit 48cf3a9
Show file tree
Hide file tree
Showing 19 changed files with 234 additions and 543 deletions.
19 changes: 13 additions & 6 deletions gnucash/gnome-search/search-account.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,13 @@ static QofQueryPredData* gncs_get_predicate (GNCSearchCoreType *fe);

static void gnc_search_account_finalize (GObject *obj);

struct _GNCSearchAccount
{
GNCSearchCoreType parent;

QofGuidMatch how;
};

typedef struct _GNCSearchAccountPrivate GNCSearchAccountPrivate;

struct _GNCSearchAccountPrivate
Expand Down Expand Up @@ -89,7 +96,7 @@ static void
gnc_search_account_finalize (GObject *obj)
{
GNCSearchAccount *o = (GNCSearchAccount *)obj;
g_assert (IS_GNCSEARCH_ACCOUNT (o));
g_assert (GNC_IS_SEARCH_ACCOUNT (o));

G_OBJECT_CLASS (gnc_search_account_parent_class)->finalize(obj);
}
Expand Down Expand Up @@ -136,7 +143,7 @@ gncs_validate (GNCSearchCoreType *fe)
gboolean valid = TRUE;

g_return_val_if_fail (fi, FALSE);
g_return_val_if_fail (IS_GNCSEARCH_ACCOUNT (fi), FALSE);
g_return_val_if_fail (GNC_IS_SEARCH_ACCOUNT (fi), FALSE);

priv = _PRIVATE(fi);

Expand Down Expand Up @@ -265,7 +272,7 @@ gncs_get_widget (GNCSearchCoreType *fe)
char *desc;

g_return_val_if_fail (fi, NULL);
g_return_val_if_fail (IS_GNCSEARCH_ACCOUNT (fi), NULL);
g_return_val_if_fail (GNC_IS_SEARCH_ACCOUNT (fi), NULL);

box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
Expand Down Expand Up @@ -295,7 +302,7 @@ static QofQueryPredData* gncs_get_predicate (GNCSearchCoreType *fe)
GList *l = NULL, *node;

g_return_val_if_fail (fi, NULL);
g_return_val_if_fail (IS_GNCSEARCH_ACCOUNT (fi), NULL);
g_return_val_if_fail (GNC_IS_SEARCH_ACCOUNT (fi), NULL);

priv = _PRIVATE(fi);
for (node = priv->selected_accounts; node; node = node->next)
Expand All @@ -315,7 +322,7 @@ static GNCSearchCoreType *gncs_clone(GNCSearchCoreType *fe)
GNCSearchAccountPrivate *se_priv, *fse_priv;

g_return_val_if_fail (fse, NULL);
g_return_val_if_fail (IS_GNCSEARCH_ACCOUNT (fse), NULL);
g_return_val_if_fail (GNC_IS_SEARCH_ACCOUNT (fse), NULL);
fse_priv = _PRIVATE(fse);

se = gnc_search_account_new ();
Expand All @@ -334,7 +341,7 @@ pass_parent (GNCSearchCoreType *fe, gpointer parent)
GNCSearchAccountPrivate *priv;

g_return_if_fail (fi);
g_return_if_fail (IS_GNCSEARCH_ACCOUNT (fi));
g_return_if_fail (GNC_IS_SEARCH_ACCOUNT (fi));

priv = _PRIVATE(fi);
priv->parent = GTK_WINDOW(parent);
Expand Down
24 changes: 1 addition & 23 deletions gnucash/gnome-search/search-account.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,30 +26,8 @@
#include "qof.h"

#define GNC_TYPE_SEARCH_ACCOUNT (gnc_search_account_get_type ())
#define GNCSEARCH_ACCOUNT(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, GNC_TYPE_SEARCH_ACCOUNT, GNCSearchAccount)
#define GNCSEARCH_ACCOUNT_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, GNC_TYPE_SEARCH_ACCOUNT, GNCSearchAccountClass)
#define IS_GNCSEARCH_ACCOUNT(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, GNC_TYPE_SEARCH_ACCOUNT)
G_DECLARE_FINAL_TYPE (GNCSearchAccount, gnc_search_account, GNC, SEARCH_ACCOUNT, GNCSearchCoreType)

typedef struct _GNCSearchAccount GNCSearchAccount;
typedef struct _GNCSearchAccountClass GNCSearchAccountClass;

struct _GNCSearchAccount
{
GNCSearchCoreType parent;

QofGuidMatch how;
};

struct _GNCSearchAccountClass
{
GNCSearchCoreTypeClass parent_class;

/* virtual methods */

/* signals */
};

GType gnc_search_account_get_type (void);
GNCSearchAccount *gnc_search_account_new (void);
GNCSearchAccount *gnc_search_account_matchall_new (void);

Expand Down
32 changes: 14 additions & 18 deletions gnucash/gnome-search/search-boolean.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,18 +43,16 @@ static QofQueryPredData* gncs_get_predicate (GNCSearchCoreType *fe);

static void gnc_search_boolean_finalize (GObject *obj);

typedef struct _GNCSearchBooleanPrivate GNCSearchBooleanPrivate;

struct _GNCSearchBooleanPrivate
struct _GNCSearchBoolean
{
GNCSearchCoreType parent_instance;

gboolean value;

GtkWindow *parent;
gpointer dummy;
};

G_DEFINE_TYPE_WITH_PRIVATE(GNCSearchBoolean, gnc_search_boolean, GNC_TYPE_SEARCH_CORE_TYPE)

#define _PRIVATE(o) \
((GNCSearchBooleanPrivate*)gnc_search_boolean_get_instance_private((GNCSearchBoolean*)o))
G_DEFINE_TYPE(GNCSearchBoolean, gnc_search_boolean, GNC_TYPE_SEARCH_CORE_TYPE)

static void
gnc_search_boolean_class_init (GNCSearchBooleanClass *klass)
Expand Down Expand Up @@ -84,7 +82,7 @@ static void
gnc_search_boolean_finalize (GObject *obj)
{
GNCSearchBoolean *o = (GNCSearchBoolean *)obj;
g_assert (IS_GNCSEARCH_BOOLEAN (o));
g_assert (GNC_IS_SEARCH_BOOLEAN (o));

G_OBJECT_CLASS (gnc_search_boolean_parent_class)->finalize(obj);
}
Expand All @@ -107,7 +105,7 @@ void
gnc_search_boolean_set_value (GNCSearchBoolean *fi, gboolean value)
{
g_return_if_fail (fi);
g_return_if_fail (IS_GNCSEARCH_BOOLEAN (fi));
g_return_if_fail (GNC_IS_SEARCH_BOOLEAN (fi));

fi->value = value;
}
Expand All @@ -116,13 +114,11 @@ static void
pass_parent (GNCSearchCoreType *fe, gpointer parent)
{
GNCSearchBoolean *fi = (GNCSearchBoolean *)fe;
GNCSearchBooleanPrivate *priv;

g_return_if_fail (fi);
g_return_if_fail (IS_GNCSEARCH_BOOLEAN (fi));
g_return_if_fail (GNC_IS_SEARCH_BOOLEAN (fi));

priv = _PRIVATE(fi);
priv->parent = GTK_WINDOW(parent);
fi->parent = GTK_WINDOW(parent);
}

static gboolean
Expand All @@ -132,7 +128,7 @@ gncs_validate (GNCSearchCoreType *fe)
gboolean valid = TRUE;

g_return_val_if_fail (fi, FALSE);
g_return_val_if_fail (IS_GNCSEARCH_BOOLEAN (fi), FALSE);
g_return_val_if_fail (GNC_IS_SEARCH_BOOLEAN (fi), FALSE);

/* XXX */

Expand All @@ -152,7 +148,7 @@ gncs_get_widget (GNCSearchCoreType *fe)
GNCSearchBoolean *fi = (GNCSearchBoolean *)fe;

g_return_val_if_fail (fi, NULL);
g_return_val_if_fail (IS_GNCSEARCH_BOOLEAN (fi), NULL);
g_return_val_if_fail (GNC_IS_SEARCH_BOOLEAN (fi), NULL);

box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
gtk_box_set_homogeneous (GTK_BOX (box), FALSE);
Expand All @@ -172,7 +168,7 @@ static QofQueryPredData* gncs_get_predicate (GNCSearchCoreType *fe)
GNCSearchBoolean *fi = (GNCSearchBoolean *)fe;

g_return_val_if_fail (fi, NULL);
g_return_val_if_fail (IS_GNCSEARCH_BOOLEAN (fi), NULL);
g_return_val_if_fail (GNC_IS_SEARCH_BOOLEAN (fi), NULL);

return qof_query_boolean_predicate (QOF_COMPARE_EQUAL, fi->value);
}
Expand All @@ -182,7 +178,7 @@ static GNCSearchCoreType *gncs_clone(GNCSearchCoreType *fe)
GNCSearchBoolean *se, *fse = (GNCSearchBoolean *)fe;

g_return_val_if_fail (fse, NULL);
g_return_val_if_fail (IS_GNCSEARCH_BOOLEAN (fse), NULL);
g_return_val_if_fail (GNC_IS_SEARCH_BOOLEAN (fse), NULL);

se = gnc_search_boolean_new ();
gnc_search_boolean_set_value (se, fse->value);
Expand Down
24 changes: 1 addition & 23 deletions gnucash/gnome-search/search-boolean.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,30 +26,8 @@
#include "qof.h"

#define GNC_TYPE_SEARCH_BOOLEAN (gnc_search_boolean_get_type ())
#define GNCSEARCH_BOOLEAN(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, GNC_TYPE_SEARCH_BOOLEAN, GNCSearchBoolean)
#define GNCSEARCH_BOOLEAN_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, GNC_TYPE_SEARCH_BOOLEAN, GNCSearchBooleanClass)
#define IS_GNCSEARCH_BOOLEAN(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, GNC_TYPE_SEARCH_BOOLEAN)
G_DECLARE_FINAL_TYPE (GNCSearchBoolean, gnc_search_boolean, GNC, SEARCH_BOOLEAN, GNCSearchCoreType)

typedef struct _GNCSearchBoolean GNCSearchBoolean;
typedef struct _GNCSearchBooleanClass GNCSearchBooleanClass;

struct _GNCSearchBoolean
{
GNCSearchCoreType parent;

gboolean value;
};

struct _GNCSearchBooleanClass
{
GNCSearchCoreTypeClass parent_class;

/* virtual methods */

/* signals */
};

GType gnc_search_boolean_get_type (void);
GNCSearchBoolean *gnc_search_boolean_new (void);

/* methods */
Expand Down
20 changes: 3 additions & 17 deletions gnucash/gnome-search/search-core-type.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,9 @@ extern "C" {
#endif

#define GNC_TYPE_SEARCH_CORE_TYPE (gnc_search_core_type_get_type ())
#define GNC_SEARCH_CORE_TYPE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_SEARCH_CORE_TYPE, GNCSearchCoreType))
#define GNC_SEARCH_CORE_TYPE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNC_TYPE_SEARCH_CORE_TYPE, GNCSearchCoreTypeClass))
#define GNC_IS_SEARCH_CORE_TYPE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_SEARCH_CORE_TYPE))
#define GNC_SEARCH_CORE_TYPE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_SEARCH_CORE_TYPE, GNCSearchCoreTypeClass))
G_DECLARE_DERIVABLE_TYPE (GNCSearchCoreType, gnc_search_core_type, GNC, SEARCH_CORE_TYPE, GObject)

typedef struct
{
GObject parent;

/* This appears to be unused */
GNCSearchParam * param;
} GNCSearchCoreType;

typedef struct
struct _GNCSearchCoreTypeClass
{
GObjectClass parent_class;

Expand All @@ -55,12 +44,9 @@ typedef struct
GNCSearchCoreType * (*clone) (GNCSearchCoreType *fe);
GtkWidget * (*get_widget) (GNCSearchCoreType *);
QofQueryPredData* (*get_predicate) (GNCSearchCoreType *);

/* signals */
} GNCSearchCoreTypeClass;
};

/* These are internal functions */
GType gnc_search_core_type_get_type (void);
GNCSearchCoreType * gnc_search_core_type_new (void);

/* Create a new search core_type */
Expand Down

0 comments on commit 48cf3a9

Please sign in to comment.