/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* Copyright (C) 2013 Red Hat, Inc.
*/
#ifndef NMT_NEWT_WIDGET_H
#define NMT_NEWT_WIDGET_H
#include "nmt-newt-types.h"
#define NMT_TYPE_NEWT_WIDGET (nmt_newt_widget_get_type())
#define NMT_NEWT_WIDGET(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj), NMT_TYPE_NEWT_WIDGET, NmtNewtWidget))
#define NMT_NEWT_WIDGET_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass), NMT_TYPE_NEWT_WIDGET, NmtNewtWidgetClass))
#define NMT_IS_NEWT_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMT_TYPE_NEWT_WIDGET))
#define NMT_IS_NEWT_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), NMT_TYPE_NEWT_WIDGET))
#define NMT_NEWT_WIDGET_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS((obj), NMT_TYPE_NEWT_WIDGET, NmtNewtWidgetClass))
struct _NmtNewtWidget {
GInitiallyUnowned parent;
};
typedef struct {
GInitiallyUnownedClass parent;
/* signals */
void (*needs_rebuild)(NmtNewtWidget *widget);
void (*activated)(NmtNewtWidget *widget);
/* methods */
void (*realize)(NmtNewtWidget *widget);
void (*unrealize)(NmtNewtWidget *widget);
newtComponent *(*get_components)(NmtNewtWidget *widget);
NmtNewtWidget *(*find_component)(NmtNewtWidget *widget, newtComponent co);
void (*size_request)(NmtNewtWidget *widget, int *width, int *height);
void (*size_allocate)(NmtNewtWidget *widget, int x, int y, int width, int height);
newtComponent (*get_focus_component)(NmtNewtWidget *widget);
} NmtNewtWidgetClass;
GType nmt_newt_widget_get_type(void);
void nmt_newt_widget_realize(NmtNewtWidget *widget);
void nmt_newt_widget_unrealize(NmtNewtWidget *widget);
gboolean nmt_newt_widget_get_realized(NmtNewtWidget *widget);
newtComponent *nmt_newt_widget_get_components(NmtNewtWidget *widget);
void nmt_newt_widget_set_padding(NmtNewtWidget *widget,
int pad_left,
int pad_top,
int pad_right,
int pad_bottom);
void nmt_newt_widget_size_request(NmtNewtWidget *widget, int *width, int *height);
void nmt_newt_widget_size_allocate(NmtNewtWidget *widget, int x, int y, int width, int height);
void nmt_newt_widget_set_parent(NmtNewtWidget *widget, NmtNewtWidget *parent);
NmtNewtWidget *nmt_newt_widget_get_parent(NmtNewtWidget *widget);
NmtNewtForm *nmt_newt_widget_get_form(NmtNewtWidget *widget);
gboolean nmt_newt_widget_get_visible(NmtNewtWidget *widget);
void nmt_newt_widget_set_visible(NmtNewtWidget *widget, gboolean visible);
newtComponent nmt_newt_widget_get_focus_component(NmtNewtWidget *widget);
void nmt_newt_widget_activated(NmtNewtWidget *widget);
gboolean nmt_newt_widget_get_exit_on_activate(NmtNewtWidget *widget);
void nmt_newt_widget_set_exit_on_activate(NmtNewtWidget *widget, gboolean exit_on_activate);
gboolean nmt_newt_widget_get_valid(NmtNewtWidget *widget);
NmtNewtWidget *nmt_newt_widget_find_component(NmtNewtWidget *widget, newtComponent co);
/* protected */
void nmt_newt_widget_needs_rebuild(NmtNewtWidget *widget);
void nmt_newt_widget_set_valid(NmtNewtWidget *widget, gboolean valid);
#endif /* NMT_NEWT_WIDGET_H */