Data Structures | Macros | Typedefs | Enumerations | Functions
gntwidget.h File Reference
GNT (GLib Ncurses Toolkit)

Widget API. More...

`#include <stdio.h>`
`#include <glib.h>`
`#include <ncurses.h>`
`#include "gntbindable.h"`

Go to the source code of this file.

## Data Structures
struct | _GntWidgetPriv
struct | _GntWidget
struct | _GntWidgetClass

## Macros
#define | GNT_TYPE_WIDGET (gnt_widget_get_gtype())
#define | GNT_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_WIDGET, GntWidget))
#define | GNT_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GNT_TYPE_WIDGET, GntWidgetClass))
#define | GNT_IS_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GNT_TYPE_WIDGET))
#define | GNT_IS_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GNT_TYPE_WIDGET))
#define | GNT_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GNT_TYPE_WIDGET, GntWidgetClass))
#define | GNT_WIDGET_FLAGS(obj) (GNT_WIDGET(obj)->priv.flags)
#define | GNT_WIDGET_SET_FLAGS(obj, flags) (GNT_WIDGET_FLAGS(obj) |= flags)
#define | GNT_WIDGET_UNSET_FLAGS(obj, flags) (GNT_WIDGET_FLAGS(obj) &= ~(flags))
#define | GNT_WIDGET_IS_FLAG_SET(obj, flags) (GNT_WIDGET_FLAGS(obj) & (flags))

## Typedefs
typedef struct _GntWidget | GntWidget
typedef struct _GntWidgetPriv | GntWidgetPriv
typedef struct _GntWidgetClass | GntWidgetClass
typedef enum _GntWidgetFlags | GntWidgetFlags
typedef enum _GntMouseEvent | GntMouseEvent
typedef enum _GntParamFlags | GntParamFlags

## Enumerations
enum | _GntWidgetFlags { GNT_WIDGET_DESTROYING = 1 << 0, GNT_WIDGET_CAN_TAKE_FOCUS = 1 << 1, GNT_WIDGET_MAPPED = 1 << 2, GNT_WIDGET_NO_BORDER = 1 << 3, GNT_WIDGET_NO_SHADOW = 1 << 4, GNT_WIDGET_HAS_FOCUS = 1 << 5, GNT_WIDGET_DRAWING = 1 << 6, GNT_WIDGET_URGENT = 1 << 7, GNT_WIDGET_GROW_X = 1 << 8, GNT_WIDGET_GROW_Y = 1 << 9, GNT_WIDGET_INVISIBLE = 1 << 10, GNT_WIDGET_TRANSIENT = 1 << 11, GNT_WIDGET_DISABLE_ACTIONS = 1 << 12 }
enum | _GntMouseEvent { GNT_LEFT_MOUSE_DOWN = 1, GNT_RIGHT_MOUSE_DOWN, GNT_MIDDLE_MOUSE_DOWN, GNT_MOUSE_UP, GNT_MOUSE_SCROLL_UP, GNT_MOUSE_SCROLL_DOWN }
enum | _GntParamFlags { GNT_PARAM_SERIALIZABLE = 1 << G_PARAM_USER_SHIFT }

## Functions
G_BEGIN_DECLS GType | gnt_widget_get_gtype (void)
void | gnt_widget_destroy (GntWidget *widget)
| Destroy a widget. More...
void | gnt_widget_show (GntWidget *widget)
| Show a widget. More...
void | gnt_widget_draw (GntWidget *widget)
| Draw a widget. More...
void | gnt_widget_expose (GntWidget *widget, int x, int y, int width, int height)
void | gnt_widget_hide (GntWidget *widget)
| Hide a widget. More...
void | gnt_widget_get_position (GntWidget *widget, int *x, int *y)
| Get the position of a widget. More...
void | gnt_widget_set_position (GntWidget *widget, int x, int y)
| Set the position of a widget. More...
void | gnt_widget_size_request (GntWidget *widget)
| Request a widget to calculate its desired size. More...
void | gnt_widget_get_size (GntWidget *widget, int *width, int *height)
| Get the size of a widget. More...
gboolean | gnt_widget_set_size (GntWidget *widget, int width, int height)
| Set the size of a widget. More...
gboolean | gnt_widget_confirm_size (GntWidget *widget, int width, int height)
| Confirm a requested a size for a widget. More...
gboolean | gnt_widget_key_pressed (GntWidget *widget, const char *keys)
| Trigger the key-press callbacks for a widget. More...
gboolean | gnt_widget_clicked (GntWidget *widget, GntMouseEvent event, int x, int y)
| Trigger the 'click' callback of a widget. More...
gboolean | gnt_widget_set_focus (GntWidget *widget, gboolean set)
| Give or remove focus to a widget. More...
void | gnt_widget_activate (GntWidget *widget)
| Activate a widget. More...
void | gnt_widget_set_name (GntWidget *widget, const char *name)
| Set the name of a widget. More...
const char * | gnt_widget_get_name (GntWidget *widget)
| Get the name of a widget. More...
void | gnt_widget_queue_update (GntWidget *widget)
void | gnt_widget_set_take_focus (GntWidget *widget, gboolean set)
| Set whether a widget can take focus or not. More...
void | gnt_widget_set_visible (GntWidget *widget, gboolean set)
| Set the visibility of a widget. More...
gboolean | gnt_widget_has_shadow (GntWidget *widget)
| Check whether the widget has shadows. More...

## Detailed Description

Widget API.

Definition in file gntwidget.h.

## Function Documentation

## ◆ gnt_widget_activate()

void gnt_widget_activate | ( | GntWidget * | widget | ) |

Activate a widget.

This only applies to widgets that can be activated (eg. GntButton)

Parameters

  widget | The widget to activate.

## ◆ gnt_widget_clicked()

gboolean gnt_widget_clicked | ( | GntWidget * | widget,
|  | GntMouseEvent | event,
|  | int | x,
|  | int | y
| ) |  |

Trigger the 'click' callback of a widget.

Parameters

  widget | The widget.
  event | The mouseevent.
  x | The x-coordinate of the mouse.
  y | The y-coordinate of the mouse.

Returns
  `TRUE` if the event was handled, `FALSE` otherwise.

## ◆ gnt_widget_confirm_size()

gboolean gnt_widget_confirm_size | ( | GntWidget * | widget,
|  | int | width,
|  | int | height
| ) |  |

Confirm a requested a size for a widget.

Parameters

  widget | The widget.
  width | The requested width.
  height | The requested height.

Returns
  `TRUE` if the new size was confirmed, `FALSE` otherwise.

## ◆ gnt_widget_destroy()

void gnt_widget_destroy | ( | GntWidget * | widget | ) |

Destroy a widget.

Parameters

  widget | The widget to destroy.

## ◆ gnt_widget_draw()

void gnt_widget_draw | ( | GntWidget * | widget | ) |

Draw a widget.

Parameters

  widget | The widget to draw.

## ◆ gnt_widget_get_gtype()

G_BEGIN_DECLS GType gnt_widget_get_gtype | ( | void |  | ) |

Returns
  GType for GntWidget.

## ◆ gnt_widget_get_name()

const char* gnt_widget_get_name | ( | GntWidget * | widget | ) |

Get the name of a widget.

Parameters

  widget | The widget.

Returns
  The name of the widget.

## ◆ gnt_widget_get_position()

void gnt_widget_get_position | ( | GntWidget * | widget,
|  | int * | x,
|  | int * | y
| ) |  |

Get the position of a widget.

Parameters

  widget | The widget.
  x | Location to store the x-coordinate of the widget.
  y | Location to store the y-coordinate of the widget.

## ◆ gnt_widget_get_size()

void gnt_widget_get_size | ( | GntWidget * | widget,
|  | int * | width,
|  | int * | height
| ) |  |

Get the size of a widget.

Parameters

  widget | The widget.
  width | Location to store the width of the widget.
  height | Location to store the height of the widget.

## ◆ gnt_widget_has_shadow()

gboolean gnt_widget_has_shadow | ( | GntWidget * | widget | ) |

Check whether the widget has shadows.

Parameters

  widget | The widget.

Returns
  `TRUE` if the widget has shadows. This checks both the user-setting and whether the widget can have shadows at all.

## ◆ gnt_widget_hide()

void gnt_widget_hide | ( | GntWidget * | widget | ) |

Hide a widget.

Parameters

  widget | The widget to hide.

## ◆ gnt_widget_key_pressed()

gboolean gnt_widget_key_pressed | ( | GntWidget * | widget,
|  | const char * | keys
| ) |  |

Trigger the key-press callbacks for a widget.

Parameters

  widget | The widget.
  keys | The keypress on the widget.

Returns
  `TRUE` if the key-press was handled, `FALSE` otherwise.

## ◆ gnt_widget_set_focus()

gboolean gnt_widget_set_focus | ( | GntWidget * | widget,
|  | gboolean | set
| ) |  |

Give or remove focus to a widget.

Parameters

  widget | The widget.
  set | `TRUE` of focus should be given to the widget, `FALSE` if focus should be removed.

Returns
  `TRUE` if the focus has been changed, `FALSE` otherwise.

## ◆ gnt_widget_set_name()

void gnt_widget_set_name | ( | GntWidget * | widget,
|  | const char * | name
| ) |  |

Set the name of a widget.

Parameters

  widget | The widget.
  name | A new name for the widget.

## ◆ gnt_widget_set_position()

void gnt_widget_set_position | ( | GntWidget * | widget,
|  | int | x,
|  | int | y
| ) |  |

Set the position of a widget.

Parameters

  widget | The widget to reposition.
  x | The x-coordinate of the widget.
  y | The x-coordinate of the widget.

## ◆ gnt_widget_set_size()

gboolean gnt_widget_set_size | ( | GntWidget * | widget,
|  | int | width,
|  | int | height
| ) |  |

Set the size of a widget.

Parameters

  widget | The widget to resize.
  width | The width of the widget.
  height | The height of the widget.

Returns
  If the widget was resized to the new size.

## ◆ gnt_widget_set_take_focus()

void gnt_widget_set_take_focus | ( | GntWidget * | widget,
|  | gboolean | set
| ) |  |

Set whether a widget can take focus or not.

Parameters

  widget | The widget.
  set | `TRUE` if the widget can take focus.

## ◆ gnt_widget_set_visible()

void gnt_widget_set_visible | ( | GntWidget * | widget,
|  | gboolean | set
| ) |  |

Set the visibility of a widget.

Parameters

  widget | The widget.
  set | Whether the widget is visible or not.

## ◆ gnt_widget_show()

void gnt_widget_show | ( | GntWidget * | widget | ) |

Show a widget.

This should only be used for toplevel widgets. For the rest of the widgets, use gnt_widget_draw instead.

Parameters

  widget | The widget to show.

## ◆ gnt_widget_size_request()

void gnt_widget_size_request | ( | GntWidget * | widget | ) |

Request a widget to calculate its desired size.

Parameters

  widget | The widget.