RBQueryCreator

RBQueryCreator — database query creator widget

Properties

gboolean creating Read / Write / Construct Only
RhythmDB * db Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkBin
                    ╰── GtkWindow
                        ╰── GtkDialog
                            ╰── RBQueryCreator

Implemented Interfaces

RBQueryCreator implements AtkImplementorIface and GtkBuildable.

Description

The query creator is used to create and edit automatic playlists. It is only capable of constructing queries that consist of a flat list of criteria. It cannot nested criteria or represent full boolean logic expressions.

In addition to query criteria, the query creator also allows the user to specify limits on the size of the result set, in terms of the number of entries, the total duration, or the total file size; and also the order in which the results are to be sorted.

The structure of the query creator is defined in the builder file create-playlist.ui.

Functions

rb_query_creator_new ()

GtkWidget *
rb_query_creator_new (RhythmDB *db);

Creates a new query creator widget.

Parameters

db

the RhythmDB instance

 

Returns

new query creator widget


rb_query_creator_new_from_query ()

GtkWidget *
rb_query_creator_new_from_query (RhythmDB *db,
                                 GPtrArray *query,
                                 RhythmDBQueryModelLimitType limit_type,
                                 GVariant *limit_value,
                                 const char *sort_column,
                                 gint sort_direction);

Constructs a new query creator with an existing query and limit and sort settings.

Parameters

db

the RhythmDB instance

 

query

an existing query to start from

 

limit_type

the type of result set limit

 

limit_value

the result set limit value

 

sort_column

the column on which to sort query results

 

sort_direction

the direction in which to sort query results

 

Returns

new query creator widget


rb_query_creator_get_query ()

GPtrArray *
rb_query_creator_get_query (RBQueryCreator *creator);

Constructs a database query that represents the criteria in the query creator.

Parameters

creator

RBQueryCreator instance

 

Returns

database query array.

[transfer full]


rb_query_creator_get_limit ()

void
rb_query_creator_get_limit (RBQueryCreator *creator,
                            RhythmDBQueryModelLimitType *type,
                            GVariant **limit);

Retrieves the limit type and value from the query creator.

Parameters

creator

RBQueryCreator instance

 

type

used to return the limit type.

[out]

limit

used to return the limit value.

[out]

rb_query_creator_get_sort_order ()

void
rb_query_creator_get_sort_order (RBQueryCreator *creator,
                                 const char **sort_key,
                                 gint *sort_direction);

Retrieves the sort settings from the query creator. The sort direction is returned as a GtkSortType value.

Parameters

creator

RBQueryCreator instance

 

sort_key

returns the sort key name.

[out][allow-none]

sort_direction

returns the sort direction.

[out][allow-none]

Types and Values

struct RBQueryCreator

struct RBQueryCreator;

struct RBQueryCreatorClass

struct RBQueryCreatorClass {
	GtkDialogClass parent_class;
};

Property Details

The “creating” property

  “creating”                 gboolean

TRUE if a new playlist is being created.

Flags: Read / Write / Construct Only

Default value: TRUE


The “db” property

  “db”                       RhythmDB *

The RhythmDB instance

Flags: Read / Write / Construct Only