enlightenment/src/bin/e_config_dialog.h

50 lines
1.4 KiB
C

/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#ifdef E_TYPEDEFS
typedef enum _E_Config_Dialog_CFData_Type
{
E_CONFIG_DIALOG_CFDATA_TYPE_BASIC,
E_CONFIG_DIALOG_CFDATA_TYPE_ADVANCED
} E_Config_Dialog_CFData_Type;
typedef struct _E_Config_Dialog E_Config_Dialog;
typedef struct _E_Config_Dialog_View E_Config_Dialog_View;
#else
#ifndef E_CONFIG_DIALOG_H
#define E_CONFIG_DIALOG_H
#define E_CONFIG_DIALOG_TYPE 0xE0b01017
struct _E_Config_Dialog_View
{
void *(*create_cfdata) (E_Config_Dialog *cfd);
void (*free_cfdata) (E_Config_Dialog *cfd, void *cfdata);
struct {
int (*apply_cfdata) (E_Config_Dialog *cfd, void *cfdata);
Evas_Object *(*create_widgets) (E_Config_Dialog *cfd, Evas *evas, void *cfdata);
} basic, advanced;
};
struct _E_Config_Dialog
{
E_Object e_obj_inherit;
E_Config_Dialog_CFData_Type view_type;
E_Config_Dialog_View view;
void *cfdata;
E_Container *con;
char *title;
char *icon;
int icon_size;
E_Dialog *dia;
void *data;
};
EAPI E_Config_Dialog *e_config_dialog_new(E_Container *con, char *title, char *icon, int icon_size, E_Config_Dialog_View *view, void *data);
#endif
#endif