Main Page | Data Structures | Directories | File List | Data Fields | Globals

e_mod_container.h File Reference

Go to the source code of this file.

Defines

#define CONTAINER_NO   0
#define CONTAINER_BOX   1
#define CONTAINER_BAR   2

Functions

int devian_container_change (dEvian *devian, int container)
void devian_container_resize_auto (dEvian *devian)
int devian_container_edje_part_get (dEvian *devian)
int devian_container_edje_part_change (dEvian *devian)
void devian_container_edje_part_change_set (dEvian *devian, int action)
int devian_container_update_name_devian (dEvian *devian)
int devian_container_devian_dying (dEvian *devian)
int devian_container_edje_load (Evas_Object *edje_obj, char *part)
int devian_container_theme_set (char *theme)


Define Documentation

#define CONTAINER_BAR   2
 

Definition at line 10 of file e_mod_container.h.

Referenced by _devian_container_del(), devian_container_change(), devian_container_edje_part_change(), devian_container_edje_part_change_set(), devian_container_edje_part_get(), devian_container_resize_auto(), and devian_container_update_name_devian().

#define CONTAINER_BOX   1
 

Definition at line 9 of file e_mod_container.h.

Referenced by _devian_container_del(), _devian_create_data(), _main_advanced_apply_data(), _main_basic_apply_data(), devian_config_devian_save(), devian_config_main_new(), devian_container_box_add(), devian_container_change(), devian_container_devian_dying(), devian_container_edje_part_change(), devian_container_edje_part_change_set(), devian_container_edje_part_get(), devian_container_resize_auto(), devian_container_update_name_devian(), and devian_menu_init().

#define CONTAINER_NO   0
 

Definition at line 8 of file e_mod_container.h.

Referenced by _devian_container_del(), devian_container_box_del(), devian_container_change(), and devian_devian_del().


Function Documentation

int devian_container_change dEvian *  devian,
int  container
 

Definition at line 13 of file e_mod_container.c.

References _devian_container_del(), CONTAINER_BAR, CONTAINER_BOX, CONTAINER_NO, and devian_container_box_add().

Referenced by devian_devian_add(), and devian_devian_del().

00014 {
00015   /* CHECK: if no source, no way */
00016   if (!devian->source)
00017     return 1;
00018 
00019   /* CHECK: if already one container, remove it, except if its the one we want */
00020   if (devian->container)
00021     _devian_container_del(devian);
00022 
00023   /* Add the new container to the devian */
00024   switch (container)
00025     {
00026     case CONTAINER_BOX:
00027       {
00028   if ( devian_container_box_add(devian) )
00029     return 1;
00030   break;
00031       }
00032 
00033     case CONTAINER_BAR:
00034       {
00035   return 1;
00036       }
00037 
00038     case CONTAINER_NO:
00039       {
00040   /* I want no container attached, thank you */
00041   return 0;
00042       }
00043 
00044     default : return 1;
00045     }
00046   
00047   return 0;
00048 }

int devian_container_devian_dying dEvian *  devian  ) 
 

Definition at line 66 of file e_mod_container.c.

References CONTAINER_BOX, and devian_container_box_devian_dying().

Referenced by devian_devian_del().

00067 {
00068   if (devian->conf->container_type == CONTAINER_BOX)
00069     {
00070       return devian_container_box_devian_dying(devian->container);
00071     }
00072   return 0;
00073 }

int devian_container_edje_load Evas_Object *  edje_obj,
char *  part
 

Definition at line 139 of file e_mod_container.c.

References DCONTAINER, devian_devian_edje_load(), and dEvianM.

Referenced by devian_container_box_add().

00140 {
00141   int source_w, source_h;
00142 
00143   if (!devian_devian_edje_load(edje_obj, part))
00144     return 1;
00145 
00146   /* 'Precalculate' (get) borders */
00147   evas_object_resize(edje_obj, 400, 400);
00148   edje_object_part_geometry_get(edje_obj, "source0",
00149         NULL, NULL, &source_w, &source_h);
00150   dEvianM->theme_box_border_source_w = 400 - source_w;
00151   dEvianM->theme_box_border_source_h = 400 - source_h;
00152   DCONTAINER(("Theme borders: x:%d y:%d",
00153         dEvianM->theme_box_border_source_w,
00154         dEvianM->theme_box_border_source_h));
00155   evas_object_resize(edje_obj, 0, 0);
00156   
00157   return 0;
00158 }

int devian_container_edje_part_change dEvian *  devian  ) 
 

Definition at line 91 of file e_mod_container.c.

References CONTAINER_BAR, CONTAINER_BOX, and devian_container_box_edje_part_change().

Referenced by devian_source_picture_change().

00092 {
00093   switch (devian->conf->container_type)
00094     {
00095     case CONTAINER_BOX:
00096       return devian_container_box_edje_part_change(devian->container);
00097     case CONTAINER_BAR:
00098       break;
00099     }
00100 
00101   return 0;
00102 }

void devian_container_edje_part_change_set dEvian *  devian,
int  action
 

Definition at line 104 of file e_mod_container.c.

References CONTAINER_BAR, CONTAINER_BOX, and devian_container_box_edje_part_change_set().

Referenced by devian_source_picture_timer_change_set().

00105 {
00106   if (!devian)
00107     return;
00108   if (!devian->container)
00109     return;
00110 
00111   switch (devian->conf->container_type)
00112     {
00113     case CONTAINER_BOX:
00114       devian_container_box_edje_part_change_set(devian->container, action);
00115       break;
00116     case CONTAINER_BAR:
00117       break;
00118     }
00119 
00120   return;
00121 }

int devian_container_edje_part_get dEvian *  devian  ) 
 

Definition at line 75 of file e_mod_container.c.

References CONTAINER_BAR, CONTAINER_BOX, and devian_container_box_edje_part_get().

Referenced by devian_source_picture_change(), devian_source_picture_dialog_infos(), devian_source_picture_name_get(), devian_source_picture_original_size_get(), devian_source_picture_set_bg(), and devian_source_picture_viewer().

00076 {
00077   if (!devian->container)
00078     return -1;
00079 
00080   switch (devian->conf->container_type)
00081     {
00082     case CONTAINER_BOX:
00083       return devian_container_box_edje_part_get(devian->container);
00084     case CONTAINER_BAR:
00085       break;
00086     }
00087 
00088   return -1;
00089 }

void devian_container_resize_auto dEvian *  devian  ) 
 

Definition at line 50 of file e_mod_container.c.

References CONTAINER_BAR, CONTAINER_BOX, and devian_container_box_resize_auto().

Referenced by devian_source_picture_change().

00051 {
00052   switch (devian->conf->container_type)
00053     {
00054     case CONTAINER_BOX:
00055       {
00056   devian_container_box_resize_auto(devian->container);
00057   break;
00058       }
00059     case CONTAINER_BAR:
00060       {
00061   break;
00062       }
00063     }
00064 }

int devian_container_theme_set char *  theme  ) 
 

Definition at line 160 of file e_mod_container.c.

References DCONTAINER, devian_config_devian_new(), devian_config_devian_save(), devian_devian_add(), devian_devian_del(), devian_menu_main_menu_refresh(), and dEvianM.

Referenced by _devian_main_menu_cb_theme_change().

00161 {
00162   dEvian *devian;
00163   Config_dEvian *conf;
00164   char *buf;
00165   int i, max;
00166 
00167   /* Same theme ? */
00168   if (!strcmp(dEvianM->conf->theme, theme))
00169     return 0;
00170 
00171   DCONTAINER(("Switching to theme %s", theme));
00172   
00173   buf = (char *)evas_stringshare_add(dEvianM->conf->theme);
00174   evas_stringshare_del(dEvianM->conf->theme);
00175   dEvianM->conf->theme = (char *)evas_stringshare_add(theme);
00176 
00177   devian_menu_main_menu_refresh();
00178   
00179   max = evas_list_count(dEvianM->devians);
00180   for (i=0; i<max; i++)
00181     {
00182       devian = evas_list_nth(dEvianM->devians, i);
00183       devian_config_devian_save(devian);
00184       conf = devian_config_devian_new(devian->conf);
00185       DCONTAINER(("Switch theme devian %d", i));
00186       devian_devian_del(devian, 0);
00187       if (!devian_devian_add(conf))
00188   {
00189     DCONTAINER(("Switch theme has failed !"));
00190     evas_stringshare_del(dEvianM->conf->theme);
00191     dEvianM->conf->theme = buf;
00192     devian_devian_add(conf);
00193     return 0;
00194   }
00195     }
00196   
00197   evas_stringshare_del(buf);
00198   return 1;
00199 }

int devian_container_update_name_devian dEvian *  devian  ) 
 

Definition at line 123 of file e_mod_container.c.

References CONTAINER_BAR, CONTAINER_BOX, and devian_container_box_update_name_devian().

Referenced by devian_devian_set_name().

00124 {
00125   if (!devian->conf || !devian->container)
00126     return 0;
00127 
00128   switch (devian->conf->container_type)
00129     {
00130     case CONTAINER_BOX:
00131       return devian_container_box_update_name_devian(devian->container);
00132     case CONTAINER_BAR:
00133       return 0;
00134     }
00135 
00136   return 0;
00137 }


Generated on Fri Jan 6 02:26:26 2006 for dEvian by  doxygen 1.4.4