コード例 #1
0
static gboolean
gnc_tree_view_commodity_filter_helper (GtkTreeModel *model,
                                       GtkTreeIter *iter,
                                       gpointer data)
{
    gnc_commodity_namespace *name_space;
    gnc_commodity *commodity;
    filter_user_data *fd = data;

    g_return_val_if_fail (GNC_IS_TREE_MODEL_COMMODITY (model), FALSE);
    g_return_val_if_fail (iter != NULL, FALSE);

    if (gnc_tree_model_commodity_iter_is_namespace (GNC_TREE_MODEL_COMMODITY(model), iter))
    {
        if (fd->user_ns_fn)
        {
            name_space = gnc_tree_model_commodity_get_namespace (GNC_TREE_MODEL_COMMODITY(model), iter);
            return fd->user_ns_fn(name_space, fd->user_data);
        }
        return TRUE;
    }

    if (gnc_tree_model_commodity_iter_is_commodity (GNC_TREE_MODEL_COMMODITY(model), iter))
    {
        if (fd->user_cm_fn)
        {
            commodity = gnc_tree_model_commodity_get_commodity (GNC_TREE_MODEL_COMMODITY(model), iter);
            return fd->user_cm_fn(commodity, fd->user_data);
        }
        return TRUE;
    }

    return FALSE;
}
コード例 #2
0
gboolean
gnc_tree_model_commodity_iter_is_commodity (GncTreeModelCommodity *model,
        GtkTreeIter *iter)
{
    g_return_val_if_fail (GNC_IS_TREE_MODEL_COMMODITY (model), FALSE);
    g_return_val_if_fail (iter != NULL, FALSE);
    g_return_val_if_fail (iter->user_data != NULL, FALSE);
    g_return_val_if_fail (iter->stamp == model->stamp, FALSE);

    return (iter->user_data == ITER_IS_COMMODITY);
}
コード例 #3
0
gnc_commodity *
gnc_tree_model_commodity_get_commodity (GncTreeModelCommodity *model,
                                        GtkTreeIter *iter)
{
    g_return_val_if_fail (GNC_IS_TREE_MODEL_COMMODITY (model), NULL);
    g_return_val_if_fail (iter != NULL, NULL);
    g_return_val_if_fail (iter->user_data != NULL, NULL);
    g_return_val_if_fail (iter->stamp == model->stamp, NULL);

    if (iter->user_data != ITER_IS_COMMODITY)
        return NULL;
    return (gnc_commodity *)iter->user_data2;
}
コード例 #4
0
static void
gnc_tree_model_commodity_finalize (GObject *object)
{
    GncTreeModelCommodity *model;
    GncTreeModelCommodityPrivate *priv;

    g_return_if_fail (object != NULL);
    g_return_if_fail (GNC_IS_TREE_MODEL_COMMODITY (object));

    ENTER("model %p", object);

    model = GNC_TREE_MODEL_COMMODITY (object);
    priv = GNC_TREE_MODEL_COMMODITY_GET_PRIVATE(model);
    priv->book = NULL;
    priv->commodity_table = NULL;

    G_OBJECT_CLASS (parent_class)->finalize (object);
    LEAVE(" ");
}
コード例 #5
0
static void
gnc_tree_model_commodity_dispose (GObject *object)
{
    GncTreeModelCommodity *model;
    GncTreeModelCommodityPrivate *priv;

    g_return_if_fail (object != NULL);
    g_return_if_fail (GNC_IS_TREE_MODEL_COMMODITY (object));

    ENTER("model %p", object);
    model = GNC_TREE_MODEL_COMMODITY (object);
    priv = GNC_TREE_MODEL_COMMODITY_GET_PRIVATE(model);

    if (priv->event_handler_id)
    {
        qof_event_unregister_handler (priv->event_handler_id);
        priv->event_handler_id = 0;
    }

    if (G_OBJECT_CLASS (parent_class)->dispose)
        G_OBJECT_CLASS (parent_class)->dispose (object);
    LEAVE(" ");
}