mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Merge Richard Cohen's 'declare-type-search-param' into stable.
This commit is contained in:
@@ -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"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user