-
Notifications
You must be signed in to change notification settings - Fork 329
/
gphoto2-widget.h
133 lines (108 loc) · 4.61 KB
/
gphoto2-widget.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/** \file
*
* \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.
*
* \note
* 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.
*
* \note
* 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
*/
#ifndef LIBGPHOTO2_GPHOTO2_WIDGET_H
#define LIBGPHOTO2_GPHOTO2_WIDGET_H
#include <gphoto2/gphoto2-context.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/** \brief internal structure please use the accessors. */
typedef struct _CameraWidget CameraWidget;
#ifdef __cplusplus
}
#endif /* __cplusplus */
#include <gphoto2/gphoto2-camera.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/**
* \brief 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.
*/
typedef enum { /* Value (get/set): */
GP_WIDGET_WINDOW, /**< \brief Window widget
* This is the toplevel configuration widget. It should likely contain multiple #GP_WIDGET_SECTION entries.
*/
GP_WIDGET_SECTION, /**< \brief Section widget (think Tab) */
GP_WIDGET_TEXT, /**< \brief Text widget. */ /* char * */
GP_WIDGET_RANGE, /**< \brief Slider widget. */ /* float */
GP_WIDGET_TOGGLE, /**< \brief Toggle widget (think check box) */ /* int */
GP_WIDGET_RADIO, /**< \brief Radio button widget. */ /* char * */
GP_WIDGET_MENU, /**< \brief Menu widget (same as RADIO). */ /* char * */
GP_WIDGET_BUTTON, /**< \brief Button press widget. */ /* CameraWidgetCallback */
GP_WIDGET_DATE /**< \brief Date entering widget. */ /* int */
} CameraWidgetType;
/**
* \brief Callback handler for Button widgets.
*/
typedef int (* CameraWidgetCallback) (Camera *, CameraWidget *, GPContext *);
int gp_widget_new (CameraWidgetType type, const char *label,
CameraWidget **widget);
int gp_widget_free (CameraWidget *widget);
int gp_widget_ref (CameraWidget *widget);
int gp_widget_unref (CameraWidget *widget);
int gp_widget_append (CameraWidget *widget, CameraWidget *child);
int gp_widget_prepend (CameraWidget *widget, CameraWidget *child);
int gp_widget_count_children (CameraWidget *widget);
int gp_widget_get_child (CameraWidget *widget, int child_number,
CameraWidget **child);
/* Retrieve Widgets */
int gp_widget_get_child_by_label (CameraWidget *widget,
const char *label,
CameraWidget **child);
int gp_widget_get_child_by_id (CameraWidget *widget, int id,
CameraWidget **child);
int gp_widget_get_child_by_name (CameraWidget *widget,
const char *name,
CameraWidget **child);
int gp_widget_get_root (CameraWidget *widget,
CameraWidget **root);
int gp_widget_get_parent (CameraWidget *widget,
CameraWidget **parent);
int gp_widget_set_value (CameraWidget *widget, const void *value);
int gp_widget_get_value (CameraWidget *widget, void *value);
int gp_widget_set_name (CameraWidget *widget, const char *name);
int gp_widget_get_name (CameraWidget *widget, const char **name);
int gp_widget_set_info (CameraWidget *widget, const char *info);
int gp_widget_get_info (CameraWidget *widget, const char **info);
int gp_widget_get_id (CameraWidget *widget, int *id);
int gp_widget_get_type (CameraWidget *widget, CameraWidgetType *type);
int gp_widget_get_label (CameraWidget *widget, const char **label);
int gp_widget_set_range (CameraWidget *range,
float low, float high, float increment);
int gp_widget_get_range (CameraWidget *range,
float *min, float *max, float *increment);
int gp_widget_add_choice (CameraWidget *widget, const char *choice);
int gp_widget_count_choices (CameraWidget *widget);
int gp_widget_get_choice (CameraWidget *widget, int choice_number,
const char **choice);
int gp_widget_changed (CameraWidget *widget);
int gp_widget_set_changed (CameraWidget *widget, int changed);
int gp_widget_set_readonly (CameraWidget *widget, int readonly);
int gp_widget_get_readonly (CameraWidget *widget, int *readonly);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* !defined(LIBGPHOTO2_GPHOTO2_WIDGET_H) */