libgphoto2 photo camera library (libgphoto2) Internals  2.5.23
gphoto2-widget.c File Reference
#include "config.h"
#include <gphoto2/gphoto2-widget.h>
#include <stdlib.h>
#include <string.h>
#include <gphoto2/gphoto2-result.h>
#include <gphoto2/gphoto2-port-log.h>

Go to the source code of this file.

Data Structures

struct  _CameraWidget
 

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_get_info (CameraWidget *widget, const char **info)
 Retrieves the information about the widget. More...
 
int gp_widget_set_info (CameraWidget *widget, const char *info)
 Sets the information about the widget. More...
 
int gp_widget_get_name (CameraWidget *widget, const char **name)
 Gets the name of the widget. More...
 
int gp_widget_set_name (CameraWidget *widget, const char *name)
 Sets the name of the widget. More...
 
int gp_widget_get_id (CameraWidget *widget, int *id)
 Retrieves the unique id of the CameraWidget. 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...
 
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_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_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_parent (CameraWidget *widget, CameraWidget **parent)
 Retrieves the parent of a CameraWidget. More...
 
int gp_widget_get_root (CameraWidget *widget, CameraWidget **root)
 Retrieves the root of the CameraWidget. More...
 
int gp_widget_set_range (CameraWidget *range, float min, float max, 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...
 

Detailed Description

Author
Copyright 2000 Scott Fritzinger
License
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

Definition in file gphoto2-widget.c.

Function Documentation

◆ gp_widget_add_choice()

int gp_widget_add_choice ( CameraWidget widget,
const char *  choice 
)

Adds a choice to the CameraWidget.

Parameters
widgeta CameraWidget of type GP_WIDGET_RADIO or GP_WIDGET_MENU
choice
Returns
a gphoto2 error code.

Definition at line 760 of file gphoto2-widget.c.

References _CameraWidget::choice, _CameraWidget::choice_count, GP_OK, GP_WIDGET_MENU, GP_WIDGET_RADIO, and _CameraWidget::type.

Referenced by gp_camera_get_single_config().

◆ gp_widget_append()

int gp_widget_append ( CameraWidget widget,
CameraWidget child 
)

Appends a CameraWidget to a CameraWidget.

Parameters
widgeta CameraWidget
childthe CameraWidget you would like to append to above
Returns
a gphoto2 error code.

Definition at line 470 of file gphoto2-widget.c.

References _CameraWidget::changed, _CameraWidget::children, _CameraWidget::children_count, GP_OK, GP_WIDGET_SECTION, GP_WIDGET_WINDOW, _CameraWidget::parent, and _CameraWidget::type.

◆ gp_widget_changed()

int gp_widget_changed ( CameraWidget widget)

Tells if the widget has been changed.

Parameters
widgeta 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.

Definition at line 823 of file gphoto2-widget.c.

References _CameraWidget::changed.

◆ gp_widget_count_children()

int gp_widget_count_children ( CameraWidget widget)

Counts the children of the CameraWidget.

Parameters
widgeta CameraWidget
Returns
a gphoto2 error code or number of children

Definition at line 529 of file gphoto2-widget.c.

References _CameraWidget::children_count.

Referenced by _get_widget_names(), and gp_widget_free().

◆ gp_widget_count_choices()

int gp_widget_count_choices ( CameraWidget widget)

Counts the choices of the CameraWidget.

Parameters
widgeta CameraWidget of type GP_WIDGET_RADIO or GP_WIDGET_MENU
Returns
a gphoto2 error code or number of choices.

Definition at line 780 of file gphoto2-widget.c.

References _CameraWidget::choice_count, GP_WIDGET_MENU, GP_WIDGET_RADIO, and _CameraWidget::type.

Referenced by gp_camera_get_single_config().

◆ gp_widget_free()

◆ 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
widgeta CameraWidget
child_numberthe number of the child
child
Returns
a gphoto2 error code.

Definition at line 546 of file gphoto2-widget.c.

References _CameraWidget::children, and GP_OK.

Referenced by _get_widget_names().

◆ 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
widgeta CameraWidget
idthe id of the child
child
Returns
a gphoto2 error code.

Definition at line 603 of file gphoto2-widget.c.

References _CameraWidget::children, _CameraWidget::children_count, GP_ERROR_BAD_PARAMETERS, GP_OK, gp_widget_get_child_by_id(), _CameraWidget::id, and result.

Referenced by gp_widget_get_child_by_id().

◆ 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
widgeta CameraWidget
labelthe label of the child
child
Returns
a gphoto2 error code.

Definition at line 566 of file gphoto2-widget.c.

References _CameraWidget::children, _CameraWidget::children_count, GP_ERROR_BAD_PARAMETERS, GP_OK, gp_widget_get_child_by_label(), _CameraWidget::label, and result.

Referenced by gp_widget_get_child_by_label().

◆ 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
widgeta CameraWidget
namethe name of the child
Returns
a gphoto2 error code.

Definition at line 638 of file gphoto2-widget.c.

References _CameraWidget::children, _CameraWidget::children_count, GP_ERROR_BAD_PARAMETERS, GP_OK, gp_widget_get_child_by_name(), _CameraWidget::name, and result.

Referenced by gp_camera_get_single_config(), gp_camera_set_single_config(), and gp_widget_get_child_by_name().

◆ gp_widget_get_choice()

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

Retrieves the choice number choice_number.

Parameters
widgeta CameraWidget of type GP_WIDGET_RADIO or GP_WIDGET_MENU
choice_number
choice
Returns
a gphoto2 error code

Definition at line 799 of file gphoto2-widget.c.

References _CameraWidget::choice, GP_OK, GP_WIDGET_MENU, GP_WIDGET_RADIO, and _CameraWidget::type.

Referenced by gp_camera_get_single_config().

◆ gp_widget_get_id()

int gp_widget_get_id ( CameraWidget widget,
int *  id 
)

Retrieves the unique id of the CameraWidget.

Parameters
widgeta CameraWidget
id
Returns
a gphoto2 error code.

Definition at line 269 of file gphoto2-widget.c.

References GP_OK, and _CameraWidget::id.

◆ gp_widget_get_info()

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

Retrieves the information about the widget.

Parameters
widgeta CameraWidget
info
Returns
a gphoto2 error code.

Definition at line 198 of file gphoto2-widget.c.

References GP_OK, and _CameraWidget::info.

◆ gp_widget_get_label()

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

Retrieves the label of the CameraWidget.

Parameters
widgeta CameraWidget
label
Returns
a gphoto2 error code.

Definition at line 361 of file gphoto2-widget.c.

References GP_OK, and _CameraWidget::label.

Referenced by gp_camera_get_single_config().

◆ gp_widget_get_name()

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

Gets the name of the widget.

Parameters
widgeta CameraWidget
nameName of above widget
Returns
a gphoto2 error code.

Definition at line 233 of file gphoto2-widget.c.

References GP_OK, and _CameraWidget::name.

Referenced by _get_widget_names().

◆ gp_widget_get_parent()

int gp_widget_get_parent ( CameraWidget widget,
CameraWidget **  parent 
)

Retrieves the parent of a CameraWidget.

Parameters
widgeta CameraWidget
parentthe pointer to the parent to return
Returns
a gphoto2 error code.

Definition at line 674 of file gphoto2-widget.c.

References GP_OK, and _CameraWidget::parent.

◆ 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
rangea CameraWidget of type GP_WIDGET_RANGE
min
max
increment
Returns
a gphoto2 error code.

Definition at line 738 of file gphoto2-widget.c.

References GP_OK, GP_WIDGET_RANGE, _CameraWidget::increment, _CameraWidget::max, _CameraWidget::min, and _CameraWidget::type.

Referenced by gp_camera_get_single_config().

◆ gp_widget_get_readonly()

int gp_widget_get_readonly ( CameraWidget widget,
int *  readonly 
)

Retrieves the readonly state of the CameraWidget.

Parameters
widgeta CameraWidget
readonly
Returns
a gphoto2 error code.

Definition at line 327 of file gphoto2-widget.c.

References GP_OK, and _CameraWidget::readonly.

Referenced by gp_camera_get_single_config().

◆ gp_widget_get_root()

int gp_widget_get_root ( CameraWidget widget,
CameraWidget **  root 
)

Retrieves the root of the CameraWidget.

Parameters
widgeta CameraWidget
root
Returns
a gphoto2 error code.

Definition at line 692 of file gphoto2-widget.c.

References GP_OK, gp_widget_get_root(), and _CameraWidget::parent.

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
widgeta CameraWidget
type
Returns
a gphoto2 error code.

Definition at line 344 of file gphoto2-widget.c.

References GP_OK, and _CameraWidget::type.

Referenced by _get_widget_names(), gp_camera_get_single_config(), and gp_camera_set_single_config().

◆ gp_widget_get_value()

◆ 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
typethe type
labelthe label
widget
Returns
a gphoto2 error code.

Definition at line 93 of file gphoto2-widget.c.

References GP_OK.

Referenced by camera_config_get(), and gp_camera_get_single_config().

◆ gp_widget_prepend()

int gp_widget_prepend ( CameraWidget widget,
CameraWidget child 
)

Prepends a CameraWidget to a CameraWidget.

Parameters
widgeta CameraWidget
childthe CameraWidget you would like to prepend to above
Returns
a gphoto2 error code.

Definition at line 496 of file gphoto2-widget.c.

References _CameraWidget::changed, _CameraWidget::children, _CameraWidget::children_count, GP_OK, GP_WIDGET_SECTION, GP_WIDGET_WINDOW, _CameraWidget::parent, and _CameraWidget::type.

◆ gp_widget_ref()

int gp_widget_ref ( CameraWidget widget)

Increments the reference count for the CameraWidget.

Parameters
widgeta CameraWidget you want to ref-count
Returns
a gphoto2 error code.

Definition at line 160 of file gphoto2-widget.c.

References GP_OK, and _CameraWidget::ref_count.

◆ gp_widget_set_changed()

int gp_widget_set_changed ( CameraWidget widget,
int  changed 
)

Tells that the widget has been changed.

Parameters
widgeta CameraWidget
changeda boolean whether we changed or not
Returns
a gphoto2 error code

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

Definition at line 289 of file gphoto2-widget.c.

References _CameraWidget::changed, and GP_OK.

Referenced by gp_camera_set_single_config().

◆ gp_widget_set_info()

int gp_widget_set_info ( CameraWidget widget,
const char *  info 
)

Sets the information about the widget.

Parameters
widgeta CameraWidget
infoInformation about above widget
Returns
a gphoto2 error code.

Definition at line 216 of file gphoto2-widget.c.

References GP_OK, and _CameraWidget::info.

◆ gp_widget_set_name()

int gp_widget_set_name ( CameraWidget widget,
const char *  name 
)

Sets the name of the widget.

Parameters
widgeta CameraWidget
nameName of above widget
Returns
a gphoto2 error code.

Definition at line 250 of file gphoto2-widget.c.

References GP_OK, and _CameraWidget::name.

Referenced by gp_camera_get_single_config().

◆ 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
rangea CameraWidget of type GP_WIDGET_RANGE
min
max
increment
Returns
a gphoto2 error code.

Definition at line 715 of file gphoto2-widget.c.

References GP_OK, GP_WIDGET_RANGE, _CameraWidget::increment, _CameraWidget::max, _CameraWidget::min, and _CameraWidget::type.

Referenced by gp_camera_get_single_config().

◆ gp_widget_set_readonly()

int gp_widget_set_readonly ( CameraWidget widget,
int  readonly 
)

Tells that the widget is readonly.

Parameters
widgeta CameraWidget
changeda 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.

Definition at line 310 of file gphoto2-widget.c.

References GP_OK, and _CameraWidget::readonly.

Referenced by gp_camera_get_single_config().

◆ gp_widget_set_value()

int gp_widget_set_value ( CameraWidget widget,
const void *  value 
)

Sets the value of the widget.

Parameters
widgeta 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.

Definition at line 384 of file gphoto2-widget.c.

References _CameraWidget::callback, _CameraWidget::changed, 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, GP_WIDGET_WINDOW, _CameraWidget::label, _CameraWidget::type, _CameraWidget::value_float, _CameraWidget::value_int, and _CameraWidget::value_string.

Referenced by gp_camera_get_single_config(), and gp_camera_set_single_config().

◆ gp_widget_unref()

int gp_widget_unref ( CameraWidget widget)

Decrements the reference count for the CameraWidget.

Parameters
widgeta CameraWidget you want to unref
Returns
a gphoto2 error code.

Definition at line 177 of file gphoto2-widget.c.

References GP_OK, gp_widget_free(), and _CameraWidget::ref_count.