aboutsummaryrefslogtreecommitdiffstats
path: root/filtered-combo.h
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-10-18 05:55:18 +0200
committerMattias Andrée <m@maandree.se>2026-10-18 05:55:18 +0200
commite578c50ffbd02f2f7b9116b6b9eb096bb1fcee60 (patch)
treea70534fc3c758dd23c494a086e2af46a7d0e602d /filtered-combo.h
parentMisc (diff)
downloadgcmap-e578c50ffbd02f2f7b9116b6b9eb096bb1fcee60.tar.gz
gcmap-e578c50ffbd02f2f7b9116b6b9eb096bb1fcee60.tar.bz2
gcmap-e578c50ffbd02f2f7b9116b6b9eb096bb1fcee60.tar.xz
Misc
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to '')
-rw-r--r--filtered-combo.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/filtered-combo.h b/filtered-combo.h
new file mode 100644
index 0000000..7e604c7
--- /dev/null
+++ b/filtered-combo.h
@@ -0,0 +1,32 @@
+#include <gtk/gtk.h>
+
+#define FILTERED_TYPE_COMBO (filtered_combo_get_type())
+#define FILTERED_COMBO(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), FILTERED_TYPE_COMBO, FilteredCombo))
+#define FILTERED_IS_COMBO(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), FILTERED_TYPE_COMBO))
+
+typedef struct _FilteredCombo FilteredCombo;
+typedef struct _FilteredComboClass FilteredComboClass;
+
+struct _FilteredCombo {
+ GtkHBox parent_instance;
+ GtkWidget *combo;
+ GtkWidget *entry;
+ GtkListStore *store;
+ GtkEntryCompletion *completion;
+ char *selected;
+ GtkWidget *popup;
+ unsigned int reposition_source;
+ int popup_x;
+ int popup_y;
+ int popup_width;
+};
+
+struct _FilteredComboClass {
+ GtkHBoxClass parent_class;
+};
+
+GType filtered_combo_get_type(void);
+GtkWidget *filtered_combo_new(void);
+void filtered_combo_append(FilteredCombo *this, const char *value);
+void filtered_combo_set_active(FilteredCombo *this, int index);
+PURE const char *filtered_combo_get_selected(FilteredCombo *this);