summary refs log tree commit diff
path: root/src/nmtui/nmt-widget-list.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nmtui/nmt-widget-list.h')
-rw-r--r--src/nmtui/nmt-widget-list.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/nmtui/nmt-widget-list.h b/src/nmtui/nmt-widget-list.h
new file mode 100644
index 00000000..1825c884
--- /dev/null
+++ b/src/nmtui/nmt-widget-list.h
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2013 Red Hat, Inc.
+ */
+
+#ifndef NMT_WIDGET_LIST_H
+#define NMT_WIDGET_LIST_H
+
+#include "libnmt-newt/nmt-newt-grid.h"
+
+#define NMT_TYPE_WIDGET_LIST (nmt_widget_list_get_type())
+#define NMT_WIDGET_LIST(obj) \
+    (G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_WIDGET_LIST, NmtWidgetList))
+#define NMT_WIDGET_LIST_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_WIDGET_LIST, NmtWidgetListClass))
+#define NMT_IS_WIDGET_LIST(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_WIDGET_LIST))
+#define NMT_IS_WIDGET_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), NMT_TYPE_WIDGET_LIST))
+#define NMT_WIDGET_LIST_GET_CLASS(obj) \
+    (G_TYPE_INSTANCE_GET_CLASS((obj), NMT_TYPE_WIDGET_LIST, NmtWidgetListClass))
+
+typedef struct {
+    NmtNewtGrid parent;
+
+} NmtWidgetList;
+
+typedef struct {
+    NmtNewtGridClass parent;
+
+    /* signals */
+    void (*add_clicked)(NmtWidgetList *list);
+    void (*remove_clicked)(NmtWidgetList *list, int n);
+
+    /* methods */
+    NmtNewtWidget *(*create_widget)(NmtWidgetList *list, int n);
+
+} NmtWidgetListClass;
+
+GType nmt_widget_list_get_type(void);
+
+typedef NmtNewtWidget *(*NmtWidgetListCallback)(NmtWidgetList *list, int n, gpointer user_data);
+
+NmtNewtWidget *nmt_widget_list_new(NmtWidgetListCallback create_callback,
+                                   gpointer              user_data,
+                                   GDestroyNotify        destroy_notify,
+                                   NmtNewtWidget *       empty_widget);
+
+int  nmt_widget_list_get_length(NmtWidgetList *list);
+void nmt_widget_list_set_length(NmtWidgetList *list, int length);
+
+#endif /* NMT_WIDGET_LIST_H */