enventor/include/common.h

139 lines
5.3 KiB
C

#ifndef __COMMON_H__
#define __COMMON_H__
#define DEBUG_MODE 1
#ifdef DEBUG_MODE
#define DFUNC_BEGIN() printf("%s - begin\n", __func__)
#define DFUNC_END() printf("%s - end\n", __func__)
#define DFUNC_NAME() printf("%s(%d)\n", __func__, __LINE__)
#else
#define DFUNC_BEGIN()
#define DFUNC_END()
#define DFUNC_NAME()
#endif
#define PROTO_EDC_PATH "/tmp/.proto.edc"
extern char EDJE_PATH[PATH_MAX];
struct attr_value_s
{
Eina_List *strs;
float min;
float max;
Eina_Bool integer : 1;
};
typedef struct menu_s menu_data;
typedef struct viewer_s view_data;
typedef struct app_s app_data;
typedef struct statusbar_s stats_data;
typedef struct editor_s edit_data;
typedef struct syntax_color_s color_data;
typedef struct config_s option_data;
typedef struct parser_s parser_data;
typedef struct attr_value_s attr_value;
typedef struct fake_obj_s fake_obj;
//edit functions
edit_data *edit_init(Evas_Object *win, stats_data *sd, option_data *od);
void edit_term(edit_data *ed);
void edit_edc_read(edit_data *ed, const char *file_path);
void edit_focus_set(edit_data *ed);
Evas_Object *edit_obj_get(edit_data *ed);
Eina_Bool edit_changed_get(edit_data *ed);
void edit_changed_reset(edit_data *ed);
void edit_line_number_toggle(edit_data *ed);
void edit_editable_set(edit_data *ed, Eina_Bool editable);
void edit_save(edit_data *ed);
const char *edit_group_name_get(edit_data *ed);
void edit_new(edit_data* ed);
void edit_part_changed_cb_set(edit_data *ed, void (*cb)(void *data, const char *part_name), void *data);
void edit_cur_part_update(edit_data *ed);
//menu functions
menu_data *menu_init(Evas_Object *win, edit_data *ed, option_data *od, view_data *vd, void (*close_cb)(void *data), void *data);
void menu_term(menu_data *md);
Eina_Bool menu_option_toggle();
void menu_ctxpopup_register(Evas_Object *ctxpopup);
Eina_Bool menu_edc_load(menu_data *md);
void menu_exit(menu_data *md);
//view functions
view_data * view_init(Evas_Object *parent, const char *group, stats_data *sd,
option_data *od);
void view_term(view_data *vd);
Evas_Object *view_obj_get(view_data *vd);
void view_new(view_data *vd, const char *group);
void view_part_highlight_set(view_data *vd, const char *part_name);
Eina_Bool view_reload_need_get(view_data *vd);
void view_reload_need_set(view_data *vd, Eina_Bool reload);
void view_update(view_data *vd);
//stats functions
stats_data *stats_init(Evas_Object *parent, option_data *od);
void stats_term(stats_data *sd);
void stats_view_size_update(stats_data *sd);
void stats_cursor_pos_update(stats_data *sd, Evas_Coord x, Evas_Coord y,
float rel_x, float rel_y);
void stats_info_msg_update(stats_data *sd, const char *msg);
void stats_line_num_update(stats_data *sd, int cur_line, int max_line);
Evas_Object *stats_obj_get(stats_data *sd);
void stats_edc_file_set(stats_data *sd, const char *group_name);
//syntax color
color_data *color_init();
void color_term(color_data *cd);
const char *color_cancel(color_data *cd, const char *str, int length);
const char *color_apply(color_data *cd, const char *str, int length,
Eina_Bool realtime);
//config data
option_data *option_init(const char *edc_path, const char *edc_img_path,
const char *edc_snd_path);
void option_term(option_data *od);
const char *option_edc_path_get(option_data *od);
const char *option_edj_path_get(option_data *od);
const char *option_edc_img_path_get(option_data *od);
const char *option_edc_snd_path_get(option_data *od);
void option_edc_img_path_set(option_data *od, const char *edc_img_path);
void option_edc_snd_path_set(option_data *od, const char *edc_snd_path);
const Eina_List *option_edc_img_path_list_get(option_data *od);
const Eina_List *option_edc_snd_path_list_get(option_data *od);
void option_update_cb_set(option_data *od,
void (*cb)(void *data, option_data *od),
void *data);
void option_stats_bar_set(option_data *od, Eina_Bool enabled);
void option_linenumber_set(option_data *od, Eina_Bool enabled);
Eina_Bool option_stats_bar_get(option_data *od);
Eina_Bool option_linenumber_get(option_data *od);
void option_apply(option_data *od);
void option_edc_path_set(option_data *od, const char *edc_path);
void option_view_size_get(option_data *od, Evas_Coord *w, Evas_Coord *h);
void option_view_size_set(option_data *od, Evas_Coord w, Evas_Coord h);
Eina_Bool option_part_highlight_get(option_data *od);
void option_part_highlight_set(option_data *od, Eina_Bool highlight);
//parser
parser_data *parser_init();
void parser_term(parser_data *pd);
Eina_Stringshare *parser_group_name_get(parser_data *pd, Evas_Object *entry);
void parser_part_name_get(parser_data *pd, Evas_Object *entry, void (*cb)(void *data, Eina_Stringshare *part_name), void *data);
Eina_Bool parser_type_name_compare(parser_data *pd, const char *str);
const char *parser_markup_escape(parser_data *pd EINA_UNUSED, const char *str);
attr_value *parser_attribute_get(parser_data *pd, const char *text, const char *cur);
//panes
Evas_Object *panes_create(Evas_Object *parent);
void panes_full_view_right(Evas_Object *panes);
void panes_full_view_left(Evas_Object *panes);
void panes_full_view_cancel(Evas_Object *panes);
//fake obj
void fake_obj_new(Evas_Object *layout);
void fake_obj_del(Evas_Object *layout);
#endif