gphoto2-widget.h File Reference
`#include <gphoto2/gphoto2-context.h>`
`#include <gphoto2/gphoto2-camera.h>`
Include dependency graph for gphoto2-widget.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Typedefs

typedef struct _CameraWidget | CameraWidget
| internal structure please use the accessors.
typedef int(* | CameraWidgetCallback) (Camera *, CameraWidget *, GPContext *)
| Callback handler for Button widgets.

## Enumerations

enum | CameraWidgetType { GP_WIDGET_WINDOW , GP_WIDGET_SECTION , GP_WIDGET_TEXT , GP_WIDGET_RANGE , GP_WIDGET_TOGGLE , GP_WIDGET_RADIO , GP_WIDGET_MENU , GP_WIDGET_BUTTON , GP_WIDGET_DATE }
| Type of the widget to be created. More...

## Functions

int | gp_widget_new (CameraWidgetType type, const char *label, CameraWidget **widget)
| Create a new widget. More...
int | gp_widget_free (CameraWidget *widget)
| Frees a CameraWidget. More...
int | gp_widget_ref (CameraWidget *widget)
| Increments the reference count for the CameraWidget. More...
int | gp_widget_unref (CameraWidget *widget)
| Decrements the reference count for the CameraWidget. More...
int | gp_widget_append (CameraWidget *widget, CameraWidget *child)
| Appends a CameraWidget to a CameraWidget. More...
int | gp_widget_prepend (CameraWidget *widget, CameraWidget *child)
| Prepends a CameraWidget to a CameraWidget. More...
int | gp_widget_count_children (CameraWidget *widget)
| Counts the children of the CameraWidget. More...
int | gp_widget_get_child (CameraWidget *widget, int child_number, CameraWidget **child)
| Retrieves the child number `child_number` of the parent. More...
int | gp_widget_get_child_by_label (CameraWidget *widget, const char *label, CameraWidget **child)
| Retrieves the child with label `label` of the CameraWidget. More...
int | gp_widget_get_child_by_id (CameraWidget *widget, int id, CameraWidget **child)
| Retrieves the child with id `id` of the widget. More...
int | gp_widget_get_child_by_name (CameraWidget *widget, const char *name, CameraWidget **child)
| Retrieves the child with name `name` of the widget. More...
int | gp_widget_get_root (CameraWidget *widget, CameraWidget **root)
| Retrieves the root of the CameraWidget. More...
int | gp_widget_get_parent (CameraWidget *widget, CameraWidget **parent)
| Retrieves the parent of a CameraWidget. More...
int | gp_widget_set_value (CameraWidget *widget, const void *value)
| Sets the value of the widget. More...
int | gp_widget_get_value (CameraWidget *widget, void *value)
| Retrieves the value of the CameraWidget. More...
int | gp_widget_set_name (CameraWidget *widget, const char *name)
| Sets the name of the widget. More...
int | gp_widget_get_name (CameraWidget *widget, const char **name)
| Gets the name of the widget. More...
int | gp_widget_set_info (CameraWidget *widget, const char *info)
| Sets the information about the widget. More...
int | gp_widget_get_info (CameraWidget *widget, const char **info)
| Retrieves the information about the widget. More...
int | gp_widget_get_id (CameraWidget *widget, int *id)
| Retrieves the unique id of the CameraWidget. More...
int | gp_widget_get_type (CameraWidget *widget, CameraWidgetType *type)
| Retrieves the type of the CameraWidget. More...
int | gp_widget_get_label (CameraWidget *widget, const char **label)
| Retrieves the label of the CameraWidget. More...
int | gp_widget_set_range (CameraWidget *range, float low, float high, float increment)
| Sets some range parameters of the CameraWidget. More...
int | gp_widget_get_range (CameraWidget *range, float *min, float *max, float *increment)
| Retrieves some range parameters of the CameraWidget. More...
int | gp_widget_add_choice (CameraWidget *widget, const char *choice)
| Adds a choice to the CameraWidget. More...
int | gp_widget_count_choices (CameraWidget *widget)
| Counts the choices of the CameraWidget. More...
int | gp_widget_get_choice (CameraWidget *widget, int choice_number, const char **choice)
| Retrieves the choice number `choice_number`. More...
int | gp_widget_changed (CameraWidget *widget)
| Tells if the widget has been changed. More...
int | gp_widget_set_changed (CameraWidget *widget, int changed)
| Tells that the widget has been changed. More...
int | gp_widget_set_readonly (CameraWidget *widget, int readonly)
| Tells that the widget is readonly. More...
int | gp_widget_get_readonly (CameraWidget *widget, int *readonly)
| Retrieves the readonly state of the CameraWidget. More...

## Detailed Description

Author
  Copyright 2000 Scott Fritzinger

Note
  This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
  This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
  You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

## Enumeration Type Documentation

## CameraWidgetType

enum CameraWidgetType

Type of the widget to be created.

The actual widget type we want to create. The type of the value it supports depends on this type.

Enumerator
GP_WIDGET_WINDOW | Window widget This is the toplevel configuration widget. It should likely contain multiple GP_WIDGET_SECTION entries.
GP_WIDGET_SECTION | Section widget (think Tab)
GP_WIDGET_TEXT | Text widget.
GP_WIDGET_RANGE | Slider widget.
GP_WIDGET_TOGGLE | Toggle widget (think check box)
GP_WIDGET_RADIO | Radio button widget.
GP_WIDGET_MENU | Menu widget (same as RADIO).
GP_WIDGET_BUTTON | Button press widget.
GP_WIDGET_DATE | Date entering widget.

## Function Documentation

## gp_widget_add_choice()

int gp_widget_add_choice | ( | CameraWidget * | widget,
|  | const char * | choice
| ) |  |

Adds a choice to the CameraWidget.

Parameters

  widget | a CameraWidget of type GP_WIDGET_RADIO or GP_WIDGET_MENU
  choice |

Returns
  a gphoto2 error code.

References GP_OK, GP_WIDGET_MENU, and GP_WIDGET_RADIO.

## gp_widget_append()

int gp_widget_append | ( | CameraWidget * | widget,
|  | CameraWidget * | child
| ) |  |

Appends a CameraWidget to a CameraWidget.

Parameters

  widget | a CameraWidget
  child | the CameraWidget you would like to append to above

Returns
  a gphoto2 error code.

References GP_OK, GP_WIDGET_SECTION, and GP_WIDGET_WINDOW.

## gp_widget_changed()

int gp_widget_changed | ( | CameraWidget * | widget | ) |

Tells if the widget has been changed.

Parameters

  widget | a CameraWidget

Returns
  a gphoto2 error code or changed flag.

Returns 1 if the state of the CameraWidget has been changed or 0 if not.

Note: this formerly cleared the changed state. It no longer does with 2.5.11.

## gp_widget_count_children()

int gp_widget_count_children | ( | CameraWidget * | widget | ) |

Counts the children of the CameraWidget.

Parameters

  widget | a CameraWidget

Returns
  a gphoto2 error code or number of children

Referenced by gp_widget_free().

## gp_widget_count_choices()

int gp_widget_count_choices | ( | CameraWidget * | widget | ) |

Counts the choices of the CameraWidget.

Parameters

  widget | a CameraWidget of type GP_WIDGET_RADIO or GP_WIDGET_MENU

Returns
  a gphoto2 error code or number of choices.

References GP_WIDGET_MENU, and GP_WIDGET_RADIO.

## gp_widget_free()

int gp_widget_free | ( | CameraWidget * | widget | ) |

Frees a CameraWidget.

Parameters

  widget | the CameraWidget to be freed

Returns
  a gphoto2 error code.

References GP_OK, gp_widget_count_children(), gp_widget_free(), GP_WIDGET_SECTION, and GP_WIDGET_WINDOW.

Referenced by gp_widget_free(), and gp_widget_unref().

## gp_widget_get_child()

int gp_widget_get_child | ( | CameraWidget * | widget,
|  | int | child_number,
|  | CameraWidget ** | child
| ) |  |

Retrieves the child number `child_number` of the parent.

Parameters

  widget | a CameraWidget
  child_number | the number of the child
  child |

Returns
  a gphoto2 error code.

References GP_OK.

## gp_widget_get_child_by_id()

int gp_widget_get_child_by_id | ( | CameraWidget * | widget,
|  | int | id,
|  | CameraWidget ** | child
| ) |  |

Retrieves the child with id `id` of the widget.

Parameters

  widget | a CameraWidget
  id | the id of the child
  child |

Returns
  a gphoto2 error code.

References GP_OK.

## gp_widget_get_child_by_label()

int gp_widget_get_child_by_label | ( | CameraWidget * | widget,
|  | const char * | label,
|  | CameraWidget ** | child
| ) |  |

Retrieves the child with label `label` of the CameraWidget.

Parameters

  widget | a CameraWidget
  label | the label of the child
  child |

Returns
  a gphoto2 error code.

References GP_OK.

## gp_widget_get_child_by_name()

int gp_widget_get_child_by_name | ( | CameraWidget * | widget,
|  | const char * | name,
|  | CameraWidget ** | child
| ) |  |

Retrieves the child with name `name` of the widget.

Parameters

  widget | a CameraWidget
  name | the name of the child

Returns
  a gphoto2 error code.

References GP_OK.

## gp_widget_get_choice()

int gp_widget_get_choice | ( | CameraWidget * | widget,
|  | int | choice_number,
|  | const char ** | choice
| ) |  |

Retrieves the choice number `choice_number`.

Parameters

  widget | a CameraWidget of type GP_WIDGET_RADIO or GP_WIDGET_MENU
  choice_number |
  choice |

Returns
  a gphoto2 error code

References GP_OK, GP_WIDGET_MENU, and GP_WIDGET_RADIO.

## gp_widget_get_id()

int gp_widget_get_id | ( | CameraWidget * | widget,
|  | int * | id
| ) |  |

Retrieves the unique id of the CameraWidget.

Parameters

  widget | a CameraWidget
  id |

Returns
  a gphoto2 error code.

References GP_OK.

## gp_widget_get_info()

int gp_widget_get_info | ( | CameraWidget * | widget,
|  | const char ** | info
| ) |  |

Retrieves the information about the widget.

Parameters

  widget | a CameraWidget
  info |

Returns
  a gphoto2 error code.

References GP_OK.

## gp_widget_get_label()

int gp_widget_get_label | ( | CameraWidget * | widget,
|  | const char ** | label
| ) |  |

Retrieves the label of the CameraWidget.

Parameters

  widget | a CameraWidget
  label |

Returns
  a gphoto2 error code.

References GP_OK.

## gp_widget_get_name()

int gp_widget_get_name | ( | CameraWidget * | widget,
|  | const char ** | name
| ) |  |

Gets the name of the widget.

Parameters

  widget | a CameraWidget
  name | Name of above widget

Returns
  a gphoto2 error code.

References GP_OK.

## gp_widget_get_parent()

int gp_widget_get_parent | ( | CameraWidget * | widget,
|  | CameraWidget ** | parent
| ) |  |

Retrieves the parent of a CameraWidget.

Parameters

  widget | a CameraWidget
  parent | the pointer to the parent to return

Returns
  a gphoto2 error code.

References GP_OK.

## gp_widget_get_range()

int gp_widget_get_range | ( | CameraWidget * | range,
|  | float * | min,
|  | float * | max,
|  | float * | increment
| ) |  |

Retrieves some range parameters of the CameraWidget.

Parameters

  range | a CameraWidget of type GP_WIDGET_RANGE
  min |
  max |
  increment |

Returns
  a gphoto2 error code.

References GP_OK, and GP_WIDGET_RANGE.

## gp_widget_get_readonly()

int gp_widget_get_readonly | ( | CameraWidget * | widget,
|  | int * | readonly
| ) |  |

Retrieves the readonly state of the CameraWidget.

Parameters

  widget | a CameraWidget
  readonly |

Returns
  a gphoto2 error code.

References GP_OK.

## gp_widget_get_root()

int gp_widget_get_root | ( | CameraWidget * | widget,
|  | CameraWidget ** | root
| ) |  |

Retrieves the root of the CameraWidget.

Parameters

  widget | a CameraWidget
  root |

Returns
  a gphoto2 error code.

References GP_OK, and gp_widget_get_root().

Referenced by gp_widget_get_root().

## gp_widget_get_type()

int gp_widget_get_type | ( | CameraWidget * | widget,
|  | CameraWidgetType * | type
| ) |  |

Retrieves the type of the CameraWidget.

Parameters

  widget | a CameraWidget
  type |

Returns
  a gphoto2 error code.

References GP_OK.

## gp_widget_get_value()

int gp_widget_get_value | ( | CameraWidget * | widget,
|  | void * | value
| ) |  |

Retrieves the value of the CameraWidget.

Parameters

  widget | a CameraWidget
  value |

Returns
  a gphoto2 error code.

References GP_ERROR_BAD_PARAMETERS, GP_OK, GP_WIDGET_BUTTON, GP_WIDGET_DATE, GP_WIDGET_MENU, GP_WIDGET_RADIO, GP_WIDGET_RANGE, GP_WIDGET_SECTION, GP_WIDGET_TEXT, GP_WIDGET_TOGGLE, and GP_WIDGET_WINDOW.

## gp_widget_new()

int gp_widget_new | ( | CameraWidgetType | type,
|  | const char * | label,
|  | CameraWidget ** | widget
| ) |  |

Create a new widget.

The function creates a new CameraWidget of specified type and with given label.

Parameters

  type | the type
  label | the label
  widget |

Returns
  a gphoto2 error code.

References GP_OK.

Referenced by camera_config_get().

## gp_widget_prepend()

int gp_widget_prepend | ( | CameraWidget * | widget,
|  | CameraWidget * | child
| ) |  |

Prepends a CameraWidget to a CameraWidget.

Parameters

  widget | a CameraWidget
  child | the CameraWidget you would like to prepend to above

Returns
  a gphoto2 error code.

References GP_OK, GP_WIDGET_SECTION, and GP_WIDGET_WINDOW.

## gp_widget_ref()

int gp_widget_ref | ( | CameraWidget * | widget | ) |

Increments the reference count for the CameraWidget.

Parameters

  widget | a CameraWidget you want to ref-count

Returns
  a gphoto2 error code.

References GP_OK.

## gp_widget_set_changed()

int gp_widget_set_changed | ( | CameraWidget * | widget,
|  | int | changed
| ) |  |

Tells that the widget has been changed.

Parameters

  widget | a CameraWidget
  changed | a boolean whether we changed or not

Returns
  a gphoto2 error code

Sets the changed of the CameraWidget depending on the changed parameter.

References GP_OK.

## gp_widget_set_info()

int gp_widget_set_info | ( | CameraWidget * | widget,
|  | const char * | info
| ) |  |

Sets the information about the widget.

Parameters

  widget | a CameraWidget
  info | Information about above widget

Returns
  a gphoto2 error code.

References GP_OK.

## gp_widget_set_name()

int gp_widget_set_name | ( | CameraWidget * | widget,
|  | const char * | name
| ) |  |

Sets the name of the widget.

Parameters

  widget | a CameraWidget
  name | Name of above widget

Returns
  a gphoto2 error code.

References GP_OK.

## gp_widget_set_range()

int gp_widget_set_range | ( | CameraWidget * | range,
|  | float | min,
|  | float | max,
|  | float | increment
| ) |  |

Sets some range parameters of the CameraWidget.

Parameters

  range | a CameraWidget of type GP_WIDGET_RANGE
  min |
  max |
  increment |

Returns
  a gphoto2 error code.

References GP_OK, and GP_WIDGET_RANGE.

## gp_widget_set_readonly()

int gp_widget_set_readonly | ( | CameraWidget * | widget,
|  | int | readonly
| ) |  |

Tells that the widget is readonly.

Parameters

  widget | a CameraWidget
  changed | a boolean whether we are readonly or not

Returns
  a gphoto2 error code

Sets the readonly of the CameraWidget depending on the changed parameter.

Only useful when called from the camera driver.

References GP_OK.

## gp_widget_set_value()

int gp_widget_set_value | ( | CameraWidget * | widget,
|  | const void * | value
| ) |  |

Sets the value of the widget.

Parameters

  widget | a CameraWidget
  value |

Returns
  a gphoto2 error code.

Please pass (char*) for GP_WIDGET_MENU, GP_WIDGET_TEXT, GP_WIDGET_RADIO, (float) for GP_WIDGET_RANGE, (int) for GP_WIDGET_DATE, GP_WIDGET_TOGGLE, and (CameraWidgetCallback) for GP_WIDGET_BUTTON.

References GP_ERROR_BAD_PARAMETERS, GP_OK, GP_WIDGET_BUTTON, GP_WIDGET_DATE, GP_WIDGET_MENU, GP_WIDGET_RADIO, GP_WIDGET_RANGE, GP_WIDGET_SECTION, GP_WIDGET_TEXT, GP_WIDGET_TOGGLE, and GP_WIDGET_WINDOW.

## gp_widget_unref()

int gp_widget_unref | ( | CameraWidget * | widget | ) |

Decrements the reference count for the CameraWidget.

Parameters

  widget | a CameraWidget you want to unref

Returns
  a gphoto2 error code.

References GP_OK, and gp_widget_free().