diff options
Diffstat (limited to 'src/nmtui/nmt-widget-list.h')
| -rw-r--r-- | src/nmtui/nmt-widget-list.h | 50 |
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 */ |