Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals

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; 00029 struct 00030 { 00031 int w; 00032 int h; 00033 } min, max; 00034 00035 Evas_List *parts; 00036 Evas_List *programs; 00037 Evas_List *data; 00039 char *script; 00041 void *parent; 00042 }; 00043 00044 Engrave_Group *engrave_group_new(void); 00045 void engrave_group_free(Engrave_Group *eg); 00046 00047 void engrave_group_parent_set(Engrave_Group *eg, void *ef); 00048 void *engrave_group_parent_get(Engrave_Group *eg); 00049 00050 void engrave_group_data_add(Engrave_Group *eg, Engrave_Data *ed); 00051 void engrave_group_part_add(Engrave_Group *eg, Engrave_Part *ep); 00052 void engrave_group_program_add(Engrave_Group *eg, Engrave_Program *ep); 00053 00054 void engrave_group_script_set(Engrave_Group *eg, const char *script); 00055 void engrave_group_name_set(Engrave_Group *eg, const char *name); 00056 void engrave_group_min_size_set(Engrave_Group *eg, int w, int h); 00057 void engrave_group_max_size_set(Engrave_Group *eg, int w, int h); 00058 00059 Engrave_Part * engrave_group_part_last_get(Engrave_Group *eg); 00060 Engrave_Program * engrave_group_program_last_get(Engrave_Group *eg); 00061 00062 const char *engrave_group_name_get(Engrave_Group *eg); 00063 const char *engrave_group_script_get(Engrave_Group *eg); 00064 void engrave_group_min_size_get(Engrave_Group *eg, int *w, int *h); 00065 void engrave_group_max_size_get(Engrave_Group *eg, int *w, int *h); 00066 00067 int engrave_group_data_count(Engrave_Group *eg); 00068 int engrave_group_parts_count(Engrave_Group *eg); 00069 int engrave_group_programs_count(Engrave_Group *eg); 00070 00071 void engrave_group_data_foreach(Engrave_Group *eg, 00072 void (*func)(Engrave_Data *, void *), void *data); 00073 void engrave_group_parts_foreach(Engrave_Group *eg, 00074 void (*func)(Engrave_Part *, void *), void *data); 00075 void engrave_group_programs_foreach(Engrave_Group *eg, 00076 void (*func)(Engrave_Program *, void *), void *data); 00077 00078 Engrave_Part *engrave_group_part_by_name_find(Engrave_Group *eg, 00079 const char *part); 00080 Engrave_Data *engrave_group_data_by_key_find(Engrave_Group *eg, 00081 const char *key); 00082 00087 #endif 00088