enlightenment/src/bin/e_config_dialog.h

67 lines
2.5 KiB
C

#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_NORMAL_WINDOW
} E_Config_Dialog_CFData_Type;
typedef struct _E_Config_Dialog E_Config_Dialog;
typedef struct _E_Config_Dialog_View E_Config_Dialog_View;
typedef struct _E_Config_Dialog_Data E_Config_Dialog_Data;
#else
#ifndef E_CONFIG_DIALOG_H
#define E_CONFIG_DIALOG_H
#define E_CONFIG_DIALOG_TYPE 0xE0b01017
struct _E_Config_Dialog_View
{
unsigned char override_auto_apply E_BITFIELD;
unsigned char basic_only E_BITFIELD;
unsigned char normal_win E_BITFIELD;
unsigned char scroll E_BITFIELD;
void *(*create_cfdata) (E_Config_Dialog *cfd);
void (*free_cfdata) (E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
int (*close_cfdata) (E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
struct {
int (*apply_cfdata) (E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
Evas_Object *(*create_widgets) (E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
int (*check_changed) (E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
} basic, advanced;
};
struct _E_Config_Dialog
{
E_Object e_obj_inherit;
E_Config_Dialog_CFData_Type view_type;
E_Config_Dialog_View *view;
E_Config_Dialog_Data *cfdata;
Evas_Object *parent;
const char *title;
const char *icon;
const char *name;
const char *class;
int icon_size;
E_Dialog *dia;
void *data;
Ecore_Timer *auto_apply_timer;
unsigned char hide_buttons E_BITFIELD;
unsigned char cfg_changed E_BITFIELD;
unsigned char cfg_changed_auto E_BITFIELD;
};
E_API E_Config_Dialog *e_config_dialog_new(Evas_Object *parent, const char *title, const char *name, const char *class, const char *icon, int icon_size, E_Config_Dialog_View *view, void *data);
E_API int e_config_dialog_find(const char *name, const char *class);
E_API E_Config_Dialog *e_config_dialog_get(const char *name, const char *class);
E_API void e_config_dialog_changed_auto_set(E_Config_Dialog *cfd, unsigned char value);
E_API void e_config_dialog_changed_set(E_Config_Dialog *cfd, unsigned char value);
#endif
#endif