[gtk/wip/matthiasc/listview-2: 21/174] Add GtkOrdering
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/matthiasc/listview-2: 21/174] Add GtkOrdering
- Date: Fri, 29 May 2020 22:30:13 +0000 (UTC)
commit c36689424ce7ebd95ab4542c1b8a9abc8d1a64a4
Author: Benjamin Otte <otte redhat com>
Date: Thu Dec 12 05:16:31 2019 +0100
Add GtkOrdering
This is an enum that we're gonna use soon and it's worth introducing as a
separate commit.
The intention is to have meaningful names for return values in
comparison functions.
docs/reference/gtk/gtk4-sections.txt | 2 ++
gtk/gtkenums.h | 33 +++++++++++++++++++++++++++++++++
2 files changed, 35 insertions(+)
---
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index 7f65fc8f50..f8225ddfcc 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -4637,6 +4637,8 @@ GtkDeleteType
GtkDirectionType
GtkJustification
GtkMovementStep
+GtkOrdering
+gtk_ordering_from_cmpfunc
GtkOrientation
GtkPackType
GtkPositionType
diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h
index b761944d35..af36f1031a 100644
--- a/gtk/gtkenums.h
+++ b/gtk/gtkenums.h
@@ -550,6 +550,39 @@ typedef enum
GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT /*< nick=btrl >*/
} GtkNumberUpLayout;
+/**
+ * GtkOrdering:
+ * @GTK_ORDERING_SMALLER: the first value is smaller than the second
+ * @GTK_ORDERING_EQUAL: the two values are equal
+ * @GTK_ORDERING_LARGER: the first value is larger than the second
+ *
+ * Describes the way two values can be compared.
+ *
+ * These values can be used with a #GCompareFunc. However, a
+ * #GCompareFunc is allowed to return any integer values.
+ * For converting such a value to a #GtkOrdering, use
+ * gtk_ordering_from_cmpfunc().
+ */
+typedef enum {
+ GTK_ORDERING_SMALLER = -1,
+ GTK_ORDERING_EQUAL = 0,
+ GTK_ORDERING_LARGER = 1
+} GtkOrdering;
+
+/**
+ * gtk_ordering_from_cmpfunc:
+ * @cmpfunc_result: Result of a comparison function
+ *
+ * Converts the result of a #GCompareFunc like strcmp() to a #GtkOrdering.
+ *
+ * Returns: the corresponding #GtkOrdering
+ **/
+static inline GtkOrdering
+gtk_ordering_from_cmpfunc (int cmpfunc_result)
+{
+ return (GtkOrdering) ((cmpfunc_result > 0) - (cmpfunc_result < 0));
+}
+
/**
* GtkPageOrientation:
* @GTK_PAGE_ORIENTATION_PORTRAIT: Portrait mode.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]