HildonSortDialog

HildonSortDialog — A widget for defining the sorting order of items

Synopsis




GtkWidget*  hildon_sort_dialog_new          (GtkWindow *parent);
gint        hildon_sort_dialog_get_sort_key (HildonSortDialog *dialog);
GtkSortType hildon_sort_dialog_get_sort_order
                                            (HildonSortDialog *dialog);
void        hildon_sort_dialog_set_sort_key (HildonSortDialog *dialog,
                                             gint key);
void        hildon_sort_dialog_set_sort_order
                                            (HildonSortDialog *dialog,
                                             GtkSortType order);
gint        hildon_sort_dialog_add_sort_key (HildonSortDialog *dialog,
                                             const gchar *sort_key);

Description

HildonSortDialog is used to define an order (ascending/descending) and a field by which items are sorted in a list. The combo boxes display the current value when the dialog is opened.

Here is an example for using HildonSortDialog.
	HildonSortDialog *sort_dialog = HILDON_SORT_DIALOG(
			hildon_sort_dialog_new( parent ));

	gint response_id, add_sort_index;

	sort_by[0] = STR_SORT_BY_DATE;
	sort_by[1] = STR_SORT_BY_NAME;
	sort_by[2] = STR_SORT_BY_SIZE;
	sort_by[3] = NULL;

	sorting_order[0] = STR_SORTING_ORDER_ASCENDING;
	sorting_order[1] = STR_SORTING_ORDER_DESCENDING;
	sorting_order[2] = NULL;

	add_sort_index = hildon_sort_dialog_add_sort_key (sort_dialog,
			STR_SORT_BY_DATE);

	hildon_sort_dialog_add_sort_key (sort_dialog, STR_SORT_BY_NAME);

	hildon_sort_dialog_add_sort_key (sort_dialog, STR_SORT_BY_SIZE);

	if (dialog.first_time_clicked == TRUE)
	{
		hildon_sort_dialog_set_sort_key (sort_dialog, add_sort_index);
	}

	if (dialog.first_time_clicked == FALSE)
	{
		hildon_sort_dialog_set_sort_key (sort_dialog, dialog.sort_key);
		hildon_sort_dialog_set_sort_order (sort_dialog, dialog.sort_order);
	}

	gtk_widget_show (GTK_WIDGET (sort_dialog));

	response_id = gtk_dialog_run (GTK_DIALOG (sort_dialog));

	if (response_id == GTK_RESPONSE_OK)
	{
		dialog.sort_key = hildon_sort_dialog_get_sort_key (sort_dialog);

		gtk_label_set_text (GTK_LABEL ( dialog.label1),
				sort_by [dialog.sort_key]);


		dialog.sort_order = hildon_sort_dialog_get_sort_order (sort_dialog);

		gtk_label_set_text (GTK_LABEL (dialog.label2),
				sorting_order [dialog.sort_order]);

		dialog.first_time_clicked = FALSE;
	}

Details

hildon_sort_dialog_new ()

GtkWidget*  hildon_sort_dialog_new          (GtkWindow *parent);

HildonSortDialog contains two HildonCaptions with combo boxes.

parent : widget to be transient for, or NULL if none
Returns : pointer to a new HildonSortDialog widget

hildon_sort_dialog_get_sort_key ()

gint        hildon_sort_dialog_get_sort_key (HildonSortDialog *dialog);

Gets index to currently active sort key.

dialog : the HildonSortDialog widget
Returns : an integer which is the index value of the "Sort by" field

hildon_sort_dialog_get_sort_order ()

GtkSortType hildon_sort_dialog_get_sort_order
                                            (HildonSortDialog *dialog);

Gets current sorting order from "Sort order" field.

dialog : the HildonSortDialog widget
Returns : current sorting order as GtkSortType

hildon_sort_dialog_set_sort_key ()

void        hildon_sort_dialog_set_sort_key (HildonSortDialog *dialog,
                                             gint key);

Sets the index value of the HildonSortDialog widget.

dialog : the HildonSortDialog widget
key : combo box's index value

hildon_sort_dialog_set_sort_order ()

void        hildon_sort_dialog_set_sort_order
                                            (HildonSortDialog *dialog,
                                             GtkSortType order);

Sets the index value of the HildonSortDialog widget.

dialog : the HildonSortDialog widget
order : combo box's index value

hildon_sort_dialog_add_sort_key ()

gint        hildon_sort_dialog_add_sort_key (HildonSortDialog *dialog,
                                             const gchar *sort_key);

Adds a new sort key and returns the respective index in sort key combobox.

dialog : the HildonSortDialog widget
sort_key : combo box's index value
Returns : an integer which is the index of the added combo box's item