Merge Richard Cohen's 'declare-type-search-param' into stable.

This commit is contained in:
John Ralls
2023-07-16 09:44:50 -07:00
5 changed files with 101 additions and 150 deletions

View File

@@ -809,7 +809,7 @@ get_comb_box_widget (GNCSearchWindow *sw, struct _crit_data *data)
gtk_list_store_append(store, &iter); gtk_list_store_append(store, &iter);
gtk_list_store_set(store, &iter, gtk_list_store_set(store, &iter,
SEARCH_COL_NAME, _(param->title), SEARCH_COL_NAME, _(gnc_search_param_get_title (param)),
SEARCH_COL_POINTER, param, SEARCH_COL_POINTER, param,
-1); -1);
@@ -875,16 +875,16 @@ gnc_search_dialog_book_option_changed (gpointer new_val, gpointer user_data)
if (*new_data) if (*new_data)
{ {
if (strcmp (param->title, N_("Action")) == 0) if (strcmp (gnc_search_param_get_title (param), N_("Action")) == 0)
gnc_search_param_set_title (param, N_("Number/Action")); gnc_search_param_set_title (param, N_("Number/Action"));
if (strcmp (param->title, N_("Number")) == 0) if (strcmp (gnc_search_param_get_title (param), N_("Number")) == 0)
gnc_search_param_set_title (param, N_("Transaction Number")); gnc_search_param_set_title (param, N_("Transaction Number"));
} }
else else
{ {
if (strcmp (param->title, N_("Number/Action")) == 0) if (strcmp (gnc_search_param_get_title (param), N_("Number/Action")) == 0)
gnc_search_param_set_title (param, N_("Action")); gnc_search_param_set_title (param, N_("Action"));
if (strcmp (param->title, N_("Transaction Number")) == 0) if (strcmp (gnc_search_param_get_title (param), N_("Transaction Number")) == 0)
gnc_search_param_set_title (param, N_("Number")); gnc_search_param_set_title (param, N_("Number"));
} }
} }

View File

@@ -310,15 +310,15 @@ gnc_query_view_init_view (GNCQueryView *qview)
col = gtk_tree_view_column_new (); col = gtk_tree_view_column_new ();
/* Set the column title */ /* Set the column title */
gtk_tree_view_column_set_title (col, (gchar *) ((GNCSearchParam *) param)->title); gtk_tree_view_column_set_title (col, gnc_search_param_get_title (GNC_SEARCH_PARAM (param)));
/* pack tree view column into tree view */ /* pack tree view column into tree view */
gtk_tree_view_append_column (view, col); gtk_tree_view_append_column (view, col);
/* Get justification */ /* Get justification */
if (((GNCSearchParam *) param)->justify == GTK_JUSTIFY_CENTER) if (gnc_search_param_get_justify (GNC_SEARCH_PARAM (param)) == GTK_JUSTIFY_CENTER)
algn = 0.5; algn = 0.5;
else if (((GNCSearchParam *) param)->justify == GTK_JUSTIFY_RIGHT) else if (gnc_search_param_get_justify (GNC_SEARCH_PARAM (param)) == GTK_JUSTIFY_RIGHT)
{ {
/* GTK_JUSTIFY_RIGHT is only used for monetary values so right align /* GTK_JUSTIFY_RIGHT is only used for monetary values so right align
* the column title and data for both ltr and rtl */ * the column title and data for both ltr and rtl */
@@ -330,7 +330,7 @@ gnc_query_view_init_view (GNCQueryView *qview)
gtk_tree_view_column_set_alignment (col, algn); gtk_tree_view_column_set_alignment (col, algn);
/* Set column resizable */ /* Set column resizable */
if (((GNCSearchParam *) param)->non_resizeable) if (gnc_search_param_get_non_resizeable (GNC_SEARCH_PARAM (param)))
{ {
gtk_tree_view_column_set_resizable (col, FALSE); gtk_tree_view_column_set_resizable (col, FALSE);
gtk_tree_view_column_set_expand (col, FALSE); gtk_tree_view_column_set_expand (col, FALSE);
@@ -339,7 +339,7 @@ gnc_query_view_init_view (GNCQueryView *qview)
gtk_tree_view_column_set_resizable (col, TRUE); gtk_tree_view_column_set_resizable (col, TRUE);
/* Set column clickable */ /* Set column clickable */
if (((GNCSearchParam *) param)->passive) if (gnc_search_param_get_passive (GNC_SEARCH_PARAM (param)))
gtk_tree_view_column_set_clickable (col, FALSE); gtk_tree_view_column_set_clickable (col, FALSE);
else else
{ {

View File

@@ -43,16 +43,21 @@ typedef struct _GNCSearchParamPrivate GNCSearchParamPrivate;
struct _GNCSearchParamPrivate struct _GNCSearchParamPrivate
{ {
const char * title;
GtkJustification justify;
gboolean passive;
gboolean non_resizeable;
QofIdTypeConst type; QofIdTypeConst type;
}; };
#define GNC_SEARCH_PARAM_GET_PRIVATE(o) \ #define GNC_SEARCH_PARAM_GET_PRIVATE(o) \
((GNCSearchParamPrivate*)gnc_search_param_get_instance_private ((GNCSearchParam*)o)) ((GNCSearchParamPrivate*)gnc_search_param_get_instance_private ((GNCSearchParam*)o))
typedef struct _GNCSearchParamSimplePrivate GNCSearchParamSimplePrivate; struct _GNCSearchParamSimple
struct _GNCSearchParamSimplePrivate
{ {
GNCSearchParam search_param;
GSList * converters; GSList * converters;
GSList * param_path; GSList * param_path;
@@ -60,22 +65,16 @@ struct _GNCSearchParamSimplePrivate
gpointer lookup_arg; gpointer lookup_arg;
}; };
#define GNC_SEARCH_PARAM_SIMPLE_GET_PRIVATE(o) \ struct _GNCSearchParamCompound
((GNCSearchParamSimplePrivate*)gnc_search_param_simple_get_instance_private ((GNCSearchParamSimple*)o))
typedef struct _GNCSearchParamCompoundPrivate GNCSearchParamCompoundPrivate;
struct _GNCSearchParamCompoundPrivate
{ {
GNCSearchParam search_param;
GList * sub_search; GList * sub_search;
/* This defines the type of subsearch, either AND or OR */ /* This defines the type of subsearch, either AND or OR */
GNCSearchParamKind kind; GNCSearchParamKind kind;
}; };
#define GNC_SEARCH_PARAM_COMPOUND_GET_PRIVATE(o) \
((GNCSearchParamCompoundPrivate*)gnc_search_param_compound_get_instance_private ((GNCSearchParamCompound*)o))
enum enum
{ {
LAST_SIGNAL LAST_SIGNAL
@@ -113,7 +112,7 @@ gnc_search_param_finalize (GObject *obj)
/* subclass for simple searches of a single element */ /* subclass for simple searches of a single element */
G_DEFINE_TYPE_WITH_PRIVATE(GNCSearchParamSimple, gnc_search_param_simple, GNC_TYPE_SEARCH_PARAM) G_DEFINE_TYPE(GNCSearchParamSimple, gnc_search_param_simple, GNC_TYPE_SEARCH_PARAM)
static void static void
gnc_search_param_simple_class_init (GNCSearchParamSimpleClass *klass) gnc_search_param_simple_class_init (GNCSearchParamSimpleClass *klass)
@@ -132,25 +131,23 @@ static void
gnc_search_param_simple_finalize (GObject *obj) gnc_search_param_simple_finalize (GObject *obj)
{ {
GNCSearchParamSimple *o; GNCSearchParamSimple *o;
GNCSearchParamSimplePrivate *priv;
g_return_if_fail (obj != NULL); g_return_if_fail (obj != NULL);
g_return_if_fail (GNC_IS_SEARCH_PARAM_SIMPLE(obj)); g_return_if_fail (GNC_IS_SEARCH_PARAM_SIMPLE(obj));
o = GNC_SEARCH_PARAM_SIMPLE(obj); o = GNC_SEARCH_PARAM_SIMPLE(obj);
priv = GNC_SEARCH_PARAM_SIMPLE_GET_PRIVATE(o);
g_slist_free (priv->param_path); g_slist_free (o->param_path);
priv->param_path = NULL; o->param_path = NULL;
g_slist_free (priv->converters); g_slist_free (o->converters);
priv->converters = NULL; o->converters = NULL;
G_OBJECT_CLASS(gnc_search_param_simple_parent_class)->finalize (obj); G_OBJECT_CLASS(gnc_search_param_simple_parent_class)->finalize (obj);
} }
/* Subclass for compound searches consisting of AND/OR of several elements */ /* Subclass for compound searches consisting of AND/OR of several elements */
G_DEFINE_TYPE_WITH_PRIVATE(GNCSearchParamCompound, gnc_search_param_compound, GNC_TYPE_SEARCH_PARAM) G_DEFINE_TYPE(GNCSearchParamCompound, gnc_search_param_compound, GNC_TYPE_SEARCH_PARAM)
static void static void
gnc_search_param_compound_class_init (GNCSearchParamCompoundClass *klass) gnc_search_param_compound_class_init (GNCSearchParamCompoundClass *klass)
@@ -169,16 +166,14 @@ static void
gnc_search_param_compound_finalize (GObject *obj) gnc_search_param_compound_finalize (GObject *obj)
{ {
GNCSearchParamCompound *o; GNCSearchParamCompound *o;
GNCSearchParamCompoundPrivate *priv;
g_return_if_fail (obj != NULL); g_return_if_fail (obj != NULL);
g_return_if_fail (GNC_IS_SEARCH_PARAM_COMPOUND(obj)); g_return_if_fail (GNC_IS_SEARCH_PARAM_COMPOUND(obj));
o = GNC_SEARCH_PARAM_COMPOUND(obj); o = GNC_SEARCH_PARAM_COMPOUND(obj);
priv = GNC_SEARCH_PARAM_COMPOUND_GET_PRIVATE(o);
g_list_free (priv->sub_search); g_list_free (o->sub_search);
priv->sub_search = NULL; o->sub_search = NULL;
G_OBJECT_CLASS (gnc_search_param_compound_parent_class)->finalize (obj); G_OBJECT_CLASS (gnc_search_param_compound_parent_class)->finalize (obj);
} }
@@ -218,19 +213,17 @@ gnc_search_param_set_param_path (GNCSearchParamSimple *param,
QofIdTypeConst search_type, QofIdTypeConst search_type,
GSList *param_path) GSList *param_path)
{ {
GNCSearchParamSimplePrivate *priv;
GNCSearchParamPrivate *priv_base; GNCSearchParamPrivate *priv_base;
QofIdTypeConst type = NULL; QofIdTypeConst type = NULL;
GSList *converters = NULL; GSList *converters = NULL;
g_return_if_fail (GNC_IS_SEARCH_PARAM_SIMPLE(param)); g_return_if_fail (GNC_IS_SEARCH_PARAM_SIMPLE(param));
priv = GNC_SEARCH_PARAM_SIMPLE_GET_PRIVATE(param); if (param->param_path)
if (priv->param_path)
{ {
g_slist_free (priv->param_path); g_slist_free (param->param_path);
} }
priv->param_path = g_slist_copy (param_path); param->param_path = g_slist_copy (param_path);
/* Compute the parameter type */ /* Compute the parameter type */
for (; param_path; param_path = param_path->next) for (; param_path; param_path = param_path->next)
@@ -255,11 +248,11 @@ gnc_search_param_set_param_path (GNCSearchParamSimple *param,
priv_base->type = type; priv_base->type = type;
/* Save the converters */ /* Save the converters */
if (priv->converters) if (param->converters)
{ {
g_slist_free (priv->converters); g_slist_free (param->converters);
} }
priv->converters = g_slist_reverse (converters); param->converters = g_slist_reverse (converters);
} }
void void
@@ -279,34 +272,25 @@ gnc_search_param_override_param_type (GNCSearchParamSimple *param,
GList * GList *
gnc_search_param_get_search (GNCSearchParamCompound *param) gnc_search_param_get_search (GNCSearchParamCompound *param)
{ {
GNCSearchParamCompoundPrivate *priv;
g_return_val_if_fail (GNC_IS_SEARCH_PARAM_COMPOUND(param), NULL); g_return_val_if_fail (GNC_IS_SEARCH_PARAM_COMPOUND(param), NULL);
priv = GNC_SEARCH_PARAM_COMPOUND_GET_PRIVATE(param); return param->sub_search;
return priv->sub_search;
} }
GSList * GSList *
gnc_search_param_get_param_path (GNCSearchParamSimple *param) gnc_search_param_get_param_path (GNCSearchParamSimple *param)
{ {
GNCSearchParamSimplePrivate *priv;
g_return_val_if_fail (GNC_IS_SEARCH_PARAM_SIMPLE(param), NULL); g_return_val_if_fail (GNC_IS_SEARCH_PARAM_SIMPLE(param), NULL);
priv = GNC_SEARCH_PARAM_SIMPLE_GET_PRIVATE(param); return g_slist_copy (param->param_path);
return g_slist_copy (priv->param_path);
} }
GSList * GSList *
gnc_search_param_get_converters (GNCSearchParamSimple *param) gnc_search_param_get_converters (GNCSearchParamSimple *param)
{ {
GNCSearchParamSimplePrivate *priv;
g_return_val_if_fail (GNC_IS_SEARCH_PARAM_SIMPLE(param), NULL); g_return_val_if_fail (GNC_IS_SEARCH_PARAM_SIMPLE(param), NULL);
priv = GNC_SEARCH_PARAM_SIMPLE_GET_PRIVATE(param); return param->converters;
return priv->converters;
} }
QofIdTypeConst QofIdTypeConst
@@ -323,15 +307,21 @@ gnc_search_param_get_param_type (GNCSearchParam *param)
GNCSearchParamKind GNCSearchParamKind
gnc_search_param_get_kind (GNCSearchParam *param) gnc_search_param_get_kind (GNCSearchParam *param)
{ {
GNCSearchParamCompoundPrivate *priv;
if (GNC_IS_SEARCH_PARAM_SIMPLE(param)) if (GNC_IS_SEARCH_PARAM_SIMPLE(param))
return SEARCH_PARAM_ELEM; return SEARCH_PARAM_ELEM;
g_return_val_if_fail (GNC_IS_SEARCH_PARAM_COMPOUND(param), SEARCH_PARAM_ELEM); g_return_val_if_fail (GNC_IS_SEARCH_PARAM_COMPOUND(param), SEARCH_PARAM_ELEM);
priv = GNC_SEARCH_PARAM_COMPOUND_GET_PRIVATE(param); return GNC_SEARCH_PARAM_COMPOUND (param)->kind;
return priv->kind; }
const char*
gnc_search_param_get_title (GNCSearchParam *param)
{
g_return_val_if_fail (GNC_IS_SEARCH_PARAM(param), NULL);
GNCSearchParamPrivate *priv = GNC_SEARCH_PARAM_GET_PRIVATE(param);
return priv->title;
} }
void void
@@ -339,7 +329,17 @@ gnc_search_param_set_title (GNCSearchParam *param, const char *title)
{ {
g_return_if_fail (GNC_IS_SEARCH_PARAM(param)); g_return_if_fail (GNC_IS_SEARCH_PARAM(param));
param->title = title; GNCSearchParamPrivate *priv = GNC_SEARCH_PARAM_GET_PRIVATE(param);
priv->title = title;
}
GtkJustification
gnc_search_param_get_justify (GNCSearchParam *param)
{
g_return_val_if_fail (GNC_IS_SEARCH_PARAM(param), GTK_JUSTIFY_LEFT);
GNCSearchParamPrivate *priv = GNC_SEARCH_PARAM_GET_PRIVATE(param);
return priv->justify;
} }
void void
@@ -347,7 +347,17 @@ gnc_search_param_set_justify (GNCSearchParam *param, GtkJustification justify)
{ {
g_return_if_fail (GNC_IS_SEARCH_PARAM(param)); g_return_if_fail (GNC_IS_SEARCH_PARAM(param));
param->justify = justify; GNCSearchParamPrivate *priv = GNC_SEARCH_PARAM_GET_PRIVATE(param);
priv->justify = justify;
}
gboolean
gnc_search_param_get_passive (GNCSearchParam *param)
{
g_return_val_if_fail (GNC_IS_SEARCH_PARAM(param), FALSE);
GNCSearchParamPrivate *priv = GNC_SEARCH_PARAM_GET_PRIVATE(param);
return priv->passive;
} }
void void
@@ -355,7 +365,17 @@ gnc_search_param_set_passive (GNCSearchParam *param, gboolean value)
{ {
g_assert (GNC_IS_SEARCH_PARAM(param)); g_assert (GNC_IS_SEARCH_PARAM(param));
param->passive = value; GNCSearchParamPrivate *priv = GNC_SEARCH_PARAM_GET_PRIVATE(param);
priv->passive = value;
}
gboolean
gnc_search_param_get_non_resizeable (GNCSearchParam *param)
{
g_return_val_if_fail (GNC_IS_SEARCH_PARAM(param), FALSE);
GNCSearchParamPrivate *priv = GNC_SEARCH_PARAM_GET_PRIVATE(param);
return priv->non_resizeable;
} }
void void
@@ -363,7 +383,8 @@ gnc_search_param_set_non_resizeable (GNCSearchParam *param, gboolean value)
{ {
g_assert (GNC_IS_SEARCH_PARAM(param)); g_assert (GNC_IS_SEARCH_PARAM(param));
param->non_resizeable = value; GNCSearchParamPrivate *priv = GNC_SEARCH_PARAM_GET_PRIVATE(param);
priv->non_resizeable = value;
} }
gboolean gboolean
@@ -473,7 +494,6 @@ gnc_search_param_prepend_compound (GList *list, char const *title,
QofIdTypeConst type = NULL; QofIdTypeConst type = NULL;
GNCSearchParamCompound *param; GNCSearchParamCompound *param;
GNCSearchParamPrivate *basepriv; GNCSearchParamPrivate *basepriv;
GNCSearchParamCompoundPrivate *priv;
g_return_val_if_fail (title, list); g_return_val_if_fail (title, list);
g_return_val_if_fail (param_list, list); g_return_val_if_fail (param_list, list);
@@ -495,11 +515,10 @@ gnc_search_param_prepend_compound (GList *list, char const *title,
gnc_search_param_set_title (GNC_SEARCH_PARAM(param), title); gnc_search_param_set_title (GNC_SEARCH_PARAM(param), title);
gnc_search_param_set_justify (GNC_SEARCH_PARAM(param), justify); gnc_search_param_set_justify (GNC_SEARCH_PARAM(param), justify);
priv = GNC_SEARCH_PARAM_COMPOUND_GET_PRIVATE(param);
basepriv = GNC_SEARCH_PARAM_GET_PRIVATE(param); basepriv = GNC_SEARCH_PARAM_GET_PRIVATE(param);
priv->sub_search = g_list_copy (param_list); param->sub_search = g_list_copy (param_list);
basepriv->type = type; basepriv->type = type;
priv->kind = kind; param->kind = kind;
return g_list_prepend (list, param); return g_list_prepend (list, param);
} }
@@ -510,30 +529,23 @@ gnc_search_param_set_param_fcn (GNCSearchParamSimple *param,
GNCSearchParamFcn fcn, GNCSearchParamFcn fcn,
gpointer arg) gpointer arg)
{ {
GNCSearchParamSimplePrivate *priv;
g_return_if_fail (param); g_return_if_fail (param);
g_return_if_fail (param_type && *param_type); g_return_if_fail (param_type && *param_type);
g_return_if_fail (fcn); g_return_if_fail (fcn);
g_return_if_fail (GNC_IS_SEARCH_PARAM_SIMPLE(param)); g_return_if_fail (GNC_IS_SEARCH_PARAM_SIMPLE(param));
priv = GNC_SEARCH_PARAM_SIMPLE_GET_PRIVATE(param); param->lookup_fcn = fcn;
priv->lookup_fcn = fcn; param->lookup_arg = arg;
priv->lookup_arg = arg;
gnc_search_param_override_param_type (param, param_type); gnc_search_param_override_param_type (param, param_type);
} }
gboolean gboolean
gnc_search_param_has_param_fcn (GNCSearchParamSimple *param) gnc_search_param_has_param_fcn (GNCSearchParamSimple *param)
{ {
GNCSearchParamSimplePrivate *priv;
g_return_val_if_fail (param, FALSE); g_return_val_if_fail (param, FALSE);
g_return_val_if_fail (GNC_IS_SEARCH_PARAM_SIMPLE(param), FALSE); g_return_val_if_fail (GNC_IS_SEARCH_PARAM_SIMPLE(param), FALSE);
priv = GNC_SEARCH_PARAM_SIMPLE_GET_PRIVATE(param); if (param->lookup_fcn)
if (priv->lookup_fcn)
return TRUE; return TRUE;
return FALSE; return FALSE;
@@ -543,15 +555,12 @@ gnc_search_param_has_param_fcn (GNCSearchParamSimple *param)
gpointer gpointer
gnc_search_param_compute_value (GNCSearchParamSimple *param, gpointer object) gnc_search_param_compute_value (GNCSearchParamSimple *param, gpointer object)
{ {
GNCSearchParamSimplePrivate *priv;
g_return_val_if_fail (param, NULL); g_return_val_if_fail (param, NULL);
g_return_val_if_fail (GNC_IS_SEARCH_PARAM_SIMPLE(param), NULL); g_return_val_if_fail (GNC_IS_SEARCH_PARAM_SIMPLE(param), NULL);
priv = GNC_SEARCH_PARAM_SIMPLE_GET_PRIVATE(param); if (param->lookup_fcn)
if (priv->lookup_fcn)
{ {
return ((priv->lookup_fcn)(object, priv->lookup_arg)); return ((param->lookup_fcn)(object, param->lookup_arg));
} }
else else
{ {

View File

@@ -25,22 +25,7 @@
#define GNC_TYPE_SEARCH_PARAM (gnc_search_param_get_type ()) #define GNC_TYPE_SEARCH_PARAM (gnc_search_param_get_type ())
#define GNC_SEARCH_PARAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_SEARCH_PARAM, GNCSearchParam)) G_DECLARE_DERIVABLE_TYPE (GNCSearchParam, gnc_search_param, GNC, SEARCH_PARAM, GObject)
#define GNCSEARCH_PARAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNC_TYPE_SEARCH_PARAM, GNCSearchParamClass)
#define GNC_IS_SEARCH_PARAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_SEARCH_PARAM))
typedef struct _GNCSearchParam GNCSearchParam;
typedef struct _GNCSearchParamClass GNCSearchParamClass;
struct _GNCSearchParam
{
GObject gobject;
const char * title;
GtkJustification justify;
gboolean passive;
gboolean non_resizeable;
};
struct _GNCSearchParamClass struct _GNCSearchParamClass
{ {
@@ -52,52 +37,10 @@ struct _GNCSearchParamClass
}; };
#define GNC_TYPE_SEARCH_PARAM_SIMPLE (gnc_search_param_simple_get_type ()) #define GNC_TYPE_SEARCH_PARAM_SIMPLE (gnc_search_param_simple_get_type ())
#define GNC_SEARCH_PARAM_SIMPLE(o) \ G_DECLARE_FINAL_TYPE (GNCSearchParamSimple, gnc_search_param_simple, GNC, SEARCH_PARAM_SIMPLE, GNCSearchParam)
(G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_SEARCH_PARAM_SIMPLE, GNCSearchParamSimple))
#define GNCSEARCH_PARAM_SIMPLE_CLASS(k) \
(G_TYPE_CHECK_CLASS_CAST ((k), GNC_TYPE_SEARCH_PARAM_SIMPLE, GNCSearchParamSimpleClass)
#define GNC_IS_SEARCH_PARAM_SIMPLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_SEARCH_PARAM_SIMPLE))
typedef struct _GNCSearchParamSimple GNCSearchParamSimple;
typedef struct _GNCSearchParamSimpleClass GNCSearchParamSimpleClass;
struct _GNCSearchParamSimple
{
GNCSearchParam search_param;
};
struct _GNCSearchParamSimpleClass
{
GNCSearchParamClass search_param_class;
/* virtual methods */
/* signals */
};
#define GNC_TYPE_SEARCH_PARAM_COMPOUND (gnc_search_param_compound_get_type ()) #define GNC_TYPE_SEARCH_PARAM_COMPOUND (gnc_search_param_compound_get_type ())
#define GNC_SEARCH_PARAM_COMPOUND(o) \ G_DECLARE_FINAL_TYPE (GNCSearchParamCompound, gnc_search_param_compound, GNC, SEARCH_PARAM_COMPOUND, GNCSearchParam)
(G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_SEARCH_PARAM_COMPOUND, GNCSearchParamCompound))
#define GNCSEARCH_PARAM_COMPOUND_CLASS(k) \
(G_TYPE_CHECK_CLASS_CAST ((k), GNC_TYPE_SEARCH_PARAM_COMPOUND, GNCSearchParamCompoundClass)
#define GNC_IS_SEARCH_PARAM_COMPOUND(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_SEARCH_PARAM_COMPOUND))
typedef struct _GNCSearchParamCompound GNCSearchParamCompound;
typedef struct _GNCSearchParamCompoundClass GNCSearchParamCompoundClass;
struct _GNCSearchParamCompound
{
GNCSearchParam search_param;
};
struct _GNCSearchParamCompoundClass
{
GNCSearchParamClass search_param_class;
/* virtual methods */
/* signals */
};
typedef enum typedef enum
{ {
@@ -106,11 +49,6 @@ typedef enum
SEARCH_PARAM_ALL = 2 SEARCH_PARAM_ALL = 2
} GNCSearchParamKind; } GNCSearchParamKind;
/* These are internal functions */
GType gnc_search_param_get_type (void);
GType gnc_search_param_simple_get_type (void);
GType gnc_search_param_compound_get_type (void);
/* Create a new search param */ /* Create a new search param */
GNCSearchParamSimple * gnc_search_param_simple_new (void); GNCSearchParamSimple * gnc_search_param_simple_new (void);
GNCSearchParamCompound * gnc_search_param_compound_new (void); GNCSearchParamCompound * gnc_search_param_compound_new (void);
@@ -126,13 +64,17 @@ void gnc_search_param_set_param_path (GNCSearchParamSimple *param,
GList * gnc_search_param_get_search (GNCSearchParamCompound *param); GList * gnc_search_param_get_search (GNCSearchParamCompound *param);
GSList * gnc_search_param_get_param_path (GNCSearchParamSimple *param); GSList * gnc_search_param_get_param_path (GNCSearchParamSimple *param);
QofIdTypeConst gnc_search_param_get_param_type (GNCSearchParam *param); QofIdTypeConst gnc_search_param_get_param_type (GNCSearchParam *param);
const char *gnc_search_param_get_title (GNCSearchParam *param);
void gnc_search_param_set_title (GNCSearchParam *param, void gnc_search_param_set_title (GNCSearchParam *param,
const char *title); const char *title);
GNCSearchParamKind gnc_search_param_get_kind (GNCSearchParam *param); GNCSearchParamKind gnc_search_param_get_kind (GNCSearchParam *param);
GtkJustification gnc_search_param_get_justify (GNCSearchParam *param);
void gnc_search_param_set_justify (GNCSearchParam *param, void gnc_search_param_set_justify (GNCSearchParam *param,
GtkJustification justify); GtkJustification justify);
gboolean gnc_search_param_get_passive (GNCSearchParam *param);
void gnc_search_param_set_passive (GNCSearchParam *param, void gnc_search_param_set_passive (GNCSearchParam *param,
gboolean value); gboolean value);
gboolean gnc_search_param_get_non_resizeable (GNCSearchParam *param);
void gnc_search_param_set_non_resizeable (GNCSearchParam *param, void gnc_search_param_set_non_resizeable (GNCSearchParam *param,
gboolean value); gboolean value);
gboolean gnc_search_param_type_match (GNCSearchParam *a, gboolean gnc_search_param_type_match (GNCSearchParam *a,

View File

@@ -167,16 +167,16 @@ gnc_ui_find_transactions_dialog_create(GtkWindow *parent, GNCLedgerDisplay * ori
if (num_action) if (num_action)
{ {
if (strcmp (param->title, N_("Action")) == 0) if (strcmp (gnc_search_param_get_title (param), N_("Action")) == 0)
gnc_search_param_set_title (param, N_("Number/Action")); gnc_search_param_set_title (param, N_("Number/Action"));
if (strcmp (param->title, N_("Number")) == 0) if (strcmp (gnc_search_param_get_title (param), N_("Number")) == 0)
gnc_search_param_set_title (param, N_("Transaction Number")); gnc_search_param_set_title (param, N_("Transaction Number"));
} }
else else
{ {
if (strcmp (param->title, N_("Number/Action")) == 0) if (strcmp (gnc_search_param_get_title (param), N_("Number/Action")) == 0)
gnc_search_param_set_title (param, N_("Action")); gnc_search_param_set_title (param, N_("Action"));
if (strcmp (param->title, N_("Transaction Number")) == 0) if (strcmp (gnc_search_param_get_title (param), N_("Transaction Number")) == 0)
gnc_search_param_set_title (param, N_("Number")); gnc_search_param_set_title (param, N_("Number"));
} }
} }