engrave_group.h
Go to the documentation of this file.00001 #ifndef ENGRAVE_GROUP_H
00002 #define ENGRAVE_GROUP_H
00003
00018 typedef struct _Engrave_Group Engrave_Group;
00019
00023 struct _Engrave_Group
00024 {
00025 char *name;
00026 char *alias;
00030 struct
00031 {
00032 int w;
00033 int h;
00034 } min, max;
00035
00036 Evas_List *parts;
00037 Evas_List *programs;
00038 Evas_List *data;
00040 char *script;
00042 void *parent;
00043 };
00044
00045 EAPI Engrave_Group *engrave_group_new(void);
00046 EAPI void engrave_group_free(Engrave_Group *eg);
00047
00048 EAPI void engrave_group_parent_set(Engrave_Group *eg, void *ef);
00049 EAPI void *engrave_group_parent_get(Engrave_Group *eg);
00050
00051 EAPI void engrave_group_data_add(Engrave_Group *eg, Engrave_Data *ed);
00052 EAPI void engrave_group_part_add(Engrave_Group *eg, Engrave_Part *ep);
00053 EAPI void engrave_group_program_add(Engrave_Group *eg, Engrave_Program *ep);
00054
00055 EAPI void engrave_group_script_set(Engrave_Group *eg, const char *script);
00056 EAPI void engrave_group_name_set(Engrave_Group *eg, const char *name);
00057 EAPI void engrave_group_alias_set(Engrave_Group *eg, const char *alias);
00058 EAPI void engrave_group_min_size_set(Engrave_Group *eg, int w, int h);
00059 EAPI void engrave_group_max_size_set(Engrave_Group *eg, int w, int h);
00060
00061 EAPI Engrave_Part * engrave_group_part_last_get(Engrave_Group *eg);
00062 EAPI Engrave_Program * engrave_group_program_last_get(Engrave_Group *eg);
00063
00064 EAPI const char *engrave_group_name_get(Engrave_Group *eg);
00065 EAPI const char *engrave_group_alias_get(Engrave_Group *eg);
00066 EAPI const char *engrave_group_script_get(Engrave_Group *eg);
00067 EAPI void engrave_group_min_size_get(Engrave_Group *eg, int *w, int *h);
00068 EAPI void engrave_group_max_size_get(Engrave_Group *eg, int *w, int *h);
00069
00070 EAPI int engrave_group_data_count(Engrave_Group *eg);
00071 EAPI int engrave_group_parts_count(Engrave_Group *eg);
00072 EAPI int engrave_group_programs_count(Engrave_Group *eg);
00073
00074 EAPI void engrave_group_data_foreach(Engrave_Group *eg,
00075 void (*func)(Engrave_Data *, void *), void *data);
00076 EAPI void engrave_group_parts_foreach(Engrave_Group *eg,
00077 void (*func)(Engrave_Part *, void *), void *data);
00078 EAPI void engrave_group_programs_foreach(Engrave_Group *eg,
00079 void (*func)(Engrave_Program *, void *), void *data);
00080
00081 EAPI Engrave_Part *engrave_group_part_by_name_find(Engrave_Group *eg,
00082 const char *part);
00083 EAPI Engrave_Data *engrave_group_data_by_key_find(Engrave_Group *eg,
00084 const char *key);
00085
00090 #endif
00091