00001
00024 #ifndef __GPHOTO2_WIDGET_H__
00025 #define __GPHOTO2_WIDGET_H__
00026
00027 #include <gphoto2/gphoto2-context.h>
00028
00030 typedef struct _CameraWidget CameraWidget;
00031
00032 #include <gphoto2/gphoto2-camera.h>
00033
00040 typedef enum {
00041 GP_WIDGET_WINDOW,
00044 GP_WIDGET_SECTION,
00045 GP_WIDGET_TEXT,
00046 GP_WIDGET_RANGE,
00047 GP_WIDGET_TOGGLE,
00048 GP_WIDGET_RADIO,
00049 GP_WIDGET_MENU,
00050 GP_WIDGET_BUTTON,
00051 GP_WIDGET_DATE
00052 } CameraWidgetType;
00053
00057 typedef int (* CameraWidgetCallback) (Camera *, CameraWidget *, GPContext *);
00058
00059 int gp_widget_new (CameraWidgetType type, const char *label,
00060 CameraWidget **widget);
00061 int gp_widget_free (CameraWidget *widget);
00062 int gp_widget_ref (CameraWidget *widget);
00063 int gp_widget_unref (CameraWidget *widget);
00064
00065 int gp_widget_append (CameraWidget *widget, CameraWidget *child);
00066 int gp_widget_prepend (CameraWidget *widget, CameraWidget *child);
00067
00068 int gp_widget_count_children (CameraWidget *widget);
00069 int gp_widget_get_child (CameraWidget *widget, int child_number,
00070 CameraWidget **child);
00071
00072
00073 int gp_widget_get_child_by_label (CameraWidget *widget,
00074 const char *label,
00075 CameraWidget **child);
00076 int gp_widget_get_child_by_id (CameraWidget *widget, int id,
00077 CameraWidget **child);
00078 int gp_widget_get_child_by_name (CameraWidget *widget,
00079 const char *name,
00080 CameraWidget **child);
00081 int gp_widget_get_root (CameraWidget *widget,
00082 CameraWidget **root);
00083 int gp_widget_get_parent (CameraWidget *widget,
00084 CameraWidget **parent);
00085
00086 int gp_widget_set_value (CameraWidget *widget, const void *value);
00087 int gp_widget_get_value (CameraWidget *widget, void *value);
00088
00089 int gp_widget_set_name (CameraWidget *widget, const char *name);
00090 int gp_widget_get_name (CameraWidget *widget, const char **name);
00091
00092 int gp_widget_set_info (CameraWidget *widget, const char *info);
00093 int gp_widget_get_info (CameraWidget *widget, const char **info);
00094
00095 int gp_widget_get_id (CameraWidget *widget, int *id);
00096 int gp_widget_get_type (CameraWidget *widget, CameraWidgetType *type);
00097 int gp_widget_get_label (CameraWidget *widget, const char **label);
00098
00099 int gp_widget_set_range (CameraWidget *range,
00100 float low, float high, float increment);
00101 int gp_widget_get_range (CameraWidget *range,
00102 float *min, float *max, float *increment);
00103
00104 int gp_widget_add_choice (CameraWidget *widget, const char *choice);
00105 int gp_widget_count_choices (CameraWidget *widget);
00106 int gp_widget_get_choice (CameraWidget *widget, int choice_number,
00107 const char **choice);
00108
00109 int gp_widget_changed (CameraWidget *widget);
00110 int gp_widget_set_changed (CameraWidget *widget, int changed);
00111
00112 #endif