Enlightenment CVS committal

Author  : nasa01
Project : e_modules
Module  : monitor

Dir     : e_modules/monitor


Modified Files:
        e_mod_config.c e_mod_main.c e_mod_main.h flow_chart.c 
        flow_chart.h 


Log Message:
minor improvements - add vertical option, ability to turn on/off sensors
===================================================================
RCS file: /cvsroot/enlightenment/e_modules/monitor/e_mod_config.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_mod_config.c      20 Dec 2005 19:35:36 -0000      1.2
+++ e_mod_config.c      24 Dec 2005 02:31:46 -0000      1.3
@@ -35,10 +35,12 @@
 };
 
 /* Protos */
-static void *_create_data(E_Config_Dialog *cfd);
-static void _free_data(E_Config_Dialog *cfd, CFData *cfdata);
-static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, 
CFData *cfdata);
-static int _basic_apply_data(E_Config_Dialog *cfd, CFData *cfdata);
+static void            *_create_data(E_Config_Dialog *cfd);
+static void            _free_data(E_Config_Dialog *cfd, void *data);
+static Evas_Object     *_basic_create_widgets(E_Config_Dialog *cfd, Evas 
*evas, void *data);
+static int             _basic_apply_data(E_Config_Dialog *cfd, void *data);
+static Evas_Object     *_advanced_create_widgets(E_Config_Dialog *cfd, Evas 
*evas, void *data);
+static int             _advanced_apply_data(E_Config_Dialog *cfd, void *data);
 
 void
 _config_monitor_module(E_Container *con, Monitor_Face *f) 
@@ -50,8 +52,8 @@
    v.free_cfdata = _free_data;
    v.basic.apply_cfdata = _basic_apply_data;
    v.basic.create_widgets = _basic_create_widgets;
-   v.advanced.apply_cfdata = NULL;
-   v.advanced.create_widgets = NULL;
+   v.advanced.apply_cfdata   = _advanced_apply_data;
+   v.advanced.create_widgets = _advanced_create_widgets;
    
    cfd = e_config_dialog_new(con, _("Monitor Configuration"), NULL, 0, &v, f);
 }
@@ -61,15 +63,7 @@
 {
    char *tmp;
    int i = 0;
-   
-   cfdata->cpu_interval = f->conf->cpu_interval;
-   cfdata->mem_interval = f->conf->mem_interval;
-   cfdata->net_interval = f->conf->net_interval;
-   cfdata->wlan_interval = f->conf->wlan_interval;
-   cfdata->net_interface = f->conf->net_interface;
-   cfdata->wlan_interface = f->conf->wlan_interface;
-   cfdata->mem_real_ignore_cached = f->conf->mem_real_ignore_cached;
-   cfdata->mem_real_ignore_buffers = f->conf->mem_real_ignore_buffers;
+
    cfdata->net_interface = f->conf->net_interface;
    cfdata->wlan_interface = f->conf->wlan_interface;
    
@@ -113,40 +107,89 @@
 }
 
 static void
-_free_data(E_Config_Dialog *cfd, CFData *cfdata) 
+_free_data(E_Config_Dialog *cfd, void *data) 
 {
+   CFData *cfdata;
+   cfdata = data;
    free(cfdata);
 }
 
 static Evas_Object
-*_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, CFData *cfdata) 
+*_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, void *data) 
 {
-   Evas_Object *o, *of, *ob, *ot;
+   Evas_Object *o, *of, *ob, *ob1, *ob2, *ob3, *ob4, *ot;
    E_Radio_Group *rg;
+   CFData *cfdata;
+   cfdata = data;
    char *tmp;
    int i;
    Monitor_Face *f;
+   Monitor *mon;
+
    
    f = cfd->data;
-   _fill_data(f, cfdata);
+   mon = f->mon;
    
    o = e_widget_list_add(evas, 0, 0);
+   of = e_widget_framelist_add(evas, _("Select Sensors"), 0);
+   ob1 = e_widget_check_add(evas, _("CPU"), &(mon->conf->cpu));
+   e_widget_framelist_object_append(of, ob1);
+   ob2 = e_widget_check_add(evas, _("Memory"), &(mon->conf->mem));
+   e_widget_framelist_object_append(of, ob2);
+   ob3 = e_widget_check_add(evas, _("Network"), &(mon->conf->net));
+   e_widget_framelist_object_append(of, ob3);
+   ob4 = e_widget_check_add(evas, _("WLAN"), &(mon->conf->wlan));
+   e_widget_framelist_object_append(of, ob4);
+   e_widget_list_object_append(o, of, 1, 1, 0.5);
+
+   of = e_widget_framelist_add(evas, _("Monitor"), 0);
+   ob = e_widget_check_add(evas, _("Horizontal"), &(mon->conf->Horz));
+   e_widget_framelist_object_append(of, ob);
+   e_widget_list_object_append(o, of, 1, 1, 0.5);
+
+   return o;
+}
+
+static int 
+_basic_apply_data(E_Config_Dialog *cfd, void *data) 
+{
+   CFData *cfdata;
+   cfdata = data;
+   Monitor_Face *face;
+   face = cfd->data;
+   rebuild_monitor(face);
+   return 1;
+}
+static Evas_Object *
+_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, void *data)
+{
+   Evas_Object *o, *of, *ob, *ot;
+   E_Radio_Group *rg;
+   CFData *cfdata;
+   cfdata = data;
+   char *tmp;
+   int i;
+   Monitor_Face *f;
+   
+   f = cfd->data;
+ 
+   o = e_widget_list_add(evas, 0, 0);
    of = e_widget_framelist_add(evas, _("Cpu"), 0);
    ob = e_widget_label_add(evas, _("Check Interval"));
    e_widget_framelist_object_append(of, ob);
-   ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, 1.0, 0, 
&(cfdata->cpu_interval), NULL, 150);
+   ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, 1.0, 0, 
&(f->conf->cpu_interval), NULL, 150);
    e_widget_framelist_object_append(of, ob);   
    e_widget_list_object_append(o, of, 1, 1, 0.5);
 
    of = e_widget_framelist_add(evas, _("Memory"), 0);
    ot = e_widget_table_add(evas, 0);
-   ob = e_widget_check_add(evas, _("Ignore Cached"), 
&(cfdata->mem_real_ignore_cached));
+   ob = e_widget_check_add(evas, _("Ignore Cached"), 
&(f->conf->mem_real_ignore_cached));
    e_widget_table_object_append(ot, ob, 0, 0, 1, 1, 1, 0, 1, 0);
-   ob = e_widget_check_add(evas, _("Ignore Buffers"), 
&(cfdata->mem_real_ignore_buffers));
+   ob = e_widget_check_add(evas, _("Ignore Buffers"), 
&(f->conf->mem_real_ignore_buffers));
    e_widget_table_object_append(ot, ob, 0, 1, 1, 1, 1, 0, 1, 0);
    ob = e_widget_label_add(evas, _("Check Interval"));
    e_widget_table_object_append(ot, ob, 0, 2, 1, 1, 1, 0, 1, 0);
-   ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, 1.0, 0, 
&(cfdata->mem_interval), NULL, 150);
+   ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, 1.0, 0, 
&(f->conf->mem_interval), NULL, 150);
    e_widget_table_object_append(ot, ob, 0, 3, 1, 1, 1, 0, 1, 0);
    e_widget_framelist_object_append(of, ot);
    e_widget_list_object_append(o, of, 1, 1, 0.5);
@@ -168,7 +211,7 @@
        ob = e_widget_label_add(evas, _("Check Interval"));
        e_widget_table_object_append(ot, ob, 0, i, 1, 1, 1, 0, 1, 0);
        i = i + 1;
-       ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, 
1.0, 0, &(cfdata->wlan_interval), NULL, 150);
+       ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, 
1.0, 0, &(f->conf->wlan_interval), NULL, 150);
        e_widget_table_object_append(ot, ob, 0, i, 1, 1, 1, 0, 1, 0);   
        e_widget_framelist_object_append(of, ot);       
        e_widget_list_object_append(o, of, 1, 1, 0.5);
@@ -191,7 +234,7 @@
        ob = e_widget_label_add(evas, _("Check Interval"));
        e_widget_table_object_append(ot, ob, 0, i, 1, 1, 1, 0, 1, 0);
        i = i + 1;
-       ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, 
1.0, 0, &(cfdata->net_interval), NULL, 150);
+       ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, 
1.0, 0, &(f->conf->net_interval), NULL, 150);
        e_widget_table_object_append(ot, ob, 0, i, 1, 1, 1, 0, 1, 0);
        e_widget_framelist_object_append(of, ot);       
        e_widget_list_object_append(o, of, 1, 1, 0.5);
@@ -199,24 +242,18 @@
    
    return o;
 }
-
-static int 
-_basic_apply_data(E_Config_Dialog *cfd, CFData *cfdata) 
+static int
+_advanced_apply_data(E_Config_Dialog *cfd, void *data) 
 {
    Monitor_Face *f;
+   CFData *cfdata;
    char *tmp;
    int i;
    
+   cfdata = data;
    f = cfd->data;
    e_border_button_bindings_ungrab_all();
    
-   f->conf->cpu_interval = cfdata->cpu_interval;
-   f->conf->mem_interval = cfdata->mem_interval;
-   f->conf->wlan_interval = cfdata->wlan_interval;
-   f->conf->net_interval = cfdata->net_interval;
-   f->conf->mem_real_ignore_cached = cfdata->mem_real_ignore_cached;
-   f->conf->mem_real_ignore_buffers = cfdata->mem_real_ignore_buffers;
-
    i = 0;
    ecore_list_goto_first(net_interfaces);
    while ((tmp = ecore_list_next(net_interfaces)) != NULL) 
@@ -242,5 +279,7 @@
    e_config_save_queue();
    e_border_button_bindings_grab_all();
    _monitor_cb_config_updated(f);
+   rebuild_monitor(f);
+
    return 1;
 }
===================================================================
RCS file: /cvsroot/enlightenment/e_modules/monitor/e_mod_main.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- e_mod_main.c        20 Dec 2005 03:42:47 -0000      1.3
+++ e_mod_main.c        24 Dec 2005 02:31:46 -0000      1.4
@@ -6,7 +6,7 @@
 static void    _monitor_shutdown(Monitor *monitor);
 static void    _monitor_config_menu_new(Monitor *monitor);
 
-static Monitor_Face *_monitor_face_new(E_Container *con);
+static Monitor_Face *_monitor_face_new(E_Container *con, Config *config);
 static void    _monitor_face_free(Monitor_Face *face);
 static void    _monitor_face_menu_new(Monitor_Face *face);
 static void    _monitor_face_cb_gmc_change(void *data, E_Gadman_Client *gmc, 
@@ -14,7 +14,6 @@
 Config_Face *  _monitor_face_config_init(Config_Face *conf);
 static int     _monitor_face_config_cb_timer(void *data);
 
-static void _monitor_face_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, 
void *event_info);
 static void _monitor_face_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _monitor_cpu_text_update_callcack(Flow_Chart *chart, void *data);
 static void _monitor_mem_real_text_update_callback(Flow_Chart *chart, void 
*data);
@@ -23,8 +22,10 @@
 static void _monitor_net_out_text_update_callcack(Flow_Chart *chart, void 
*data);
 static void _monitor_wlan_link_text_update_callcack(Flow_Chart *chart, void 
*data);
 static void _monitor_menu_cb_configure(void *data, E_Menu *m, E_Menu_Item *mi);
+static void _add_sensor(Monitor_Face *face, Evas_Object *o, int VerHor);
 
 static int _monitor_count;
+static int  num_sensors;
 
 static E_Config_DD *conf_edd;
 static E_Config_DD *conf_face_edd;
@@ -174,11 +175,21 @@
 #define T Config
 #define D conf_edd
    E_CONFIG_LIST(D, T, faces, conf_face_edd);
+   E_CONFIG_VAL(D, T, cpu, INT);
+   E_CONFIG_VAL(D, T, mem, INT);
+   E_CONFIG_VAL(D, T, net, INT);
+   E_CONFIG_VAL(D, T, wlan, INT);
+   E_CONFIG_VAL(D, T, Horz, INT);
 
    monitor->conf = e_config_domain_load("module.monitor", conf_edd);
    if (!monitor->conf)
      {
        monitor->conf = E_NEW(Config, 1);
+       monitor->conf->cpu = 1;
+       monitor->conf->mem = 1;
+       monitor->conf->net = 1;
+       monitor->conf->wlan = 1;
+       monitor->conf->Horz = 0;
      }
 
    _monitor_config_menu_new(monitor);
@@ -196,7 +207,8 @@
             Monitor_Face *face;
             
             con = l2->data;
-            face = _monitor_face_new(con);
+            num_sensors = 0;
+            face = _monitor_face_new(con,monitor->conf);
             if (face)
               {
               face->mon = monitor;
@@ -245,12 +257,18 @@
                  net_interface_set(face->conf->net_interface);
                  wlan_interface_set(face->conf->wlan_interface);
 
-                 flow_chart_update_rate_set(flow_chart_cpu, 
face->conf->cpu_interval);
-                 flow_chart_update_rate_set(flow_chart_mem_real, 
face->conf->mem_interval);
-                 flow_chart_update_rate_set(flow_chart_mem_swap, 
face->conf->mem_interval);
-                 flow_chart_update_rate_set(flow_chart_net_in, 
face->conf->net_interval);
-                 flow_chart_update_rate_set(flow_chart_net_out, 
face->conf->net_interval);
-                 flow_chart_update_rate_set(flow_chart_wlan_link, 
face->conf->wlan_interval);
+                 if (monitor->conf->cpu)
+                       flow_chart_update_rate_set(flow_chart_cpu, 
face->conf->cpu_interval);
+                 if (monitor->conf->mem)
+                       flow_chart_update_rate_set(flow_chart_mem_real, 
face->conf->mem_interval);
+                 if (monitor->conf->mem)
+                       flow_chart_update_rate_set(flow_chart_mem_swap, 
face->conf->mem_interval);
+                 if (monitor->conf->net)
+                       flow_chart_update_rate_set(flow_chart_net_in, 
face->conf->net_interval);
+                 if (monitor->conf->net)
+                       flow_chart_update_rate_set(flow_chart_net_out, 
face->conf->net_interval);
+                 if (monitor->conf->wlan)
+                       flow_chart_update_rate_set(flow_chart_wlan_link, 
face->conf->wlan_interval);
               }
          }
      }
@@ -283,7 +301,7 @@
 }
 
 static Monitor_Face *
-_monitor_face_new(E_Container *con)
+_monitor_face_new(E_Container *con, Config *config)
 {
    Monitor_Face *face;
    Evas_Object *o;
@@ -302,12 +320,12 @@
 
    face = E_NEW(Monitor_Face, 1);
    if (!face) return NULL;
-   
+
    face->con = con;
    e_object_ref(E_OBJECT(con));
    
    evas_event_freeze(con->bg_evas);
-   
+
    /* setup monitor object */
    o = edje_object_add(con->bg_evas);
    face->monitor_object = o;
@@ -321,116 +339,97 @@
    evas_object_show(o);
 
    /* setup cpu */
-   o = edje_object_add(con->bg_evas);
-   face->cpu = o;
-   edje_object_file_set(o, PACKAGE_DATA_DIR"/monitor.edj", "monitor/cpu");
-   e_table_pack(face->table_object, o, 0, 0, 1, 1);
-   e_table_pack_options_set(o, 1, 1, 1, 1, 0.5, 0.5, 0, 0, -1, -1);   
-   evas_object_layer_set(o, evas_object_layer_get(face->monitor_object)+1);
-   evas_object_show(o);
-   /* add cpu chart */
-   chart_con = chart_container_new(con->bg_evas,0,0,0,0);
-   flow_chart_cpu = flow_chart_new();
-   flow_chart_color_set(flow_chart_cpu, 33, 100, 220, 255);
-   flow_chart_get_value_function_set(flow_chart_cpu, cpu_usage_get);
-   flow_chart_update_rate_set(flow_chart_cpu, tmp_cpu_interval);
-   chart_container_chart_add(chart_con, flow_chart_cpu);
-   face->chart_cpu = chart_con;   
-   flow_chart_callback_set(flow_chart_cpu, _monitor_cpu_text_update_callcack, 
face);
-   
-   o = evas_object_rectangle_add(con->bg_evas);
-   face->cpu_ev_obj = o;
-   evas_object_color_set(o, 255,255,255,0);
-   evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, 
_monitor_face_cb_mouse_down, face);
-   evas_object_show(o);
-
-   /* setup mem */
-   o = edje_object_add(con->bg_evas);
-   face->mem = o;
-   edje_object_file_set(o, PACKAGE_DATA_DIR"/monitor.edj", "monitor/mem");
-   e_table_pack(face->table_object, o, 1, 0, 1, 1);
-   e_table_pack_options_set(o, 1, 1, 1, 1, 0.5, 0.5, 0, 0, -1, -1);   
-   evas_object_layer_set(o, evas_object_layer_get(face->monitor_object)+1);
-   evas_object_show(o);
-   /* add mem charts */
-   chart_con = chart_container_new(con->bg_evas,0,0,0,0);
-   flow_chart_mem_real = flow_chart_new();
-   flow_chart_color_set(flow_chart_mem_real, 213, 91, 91, 255);
-   flow_chart_get_value_function_set(flow_chart_mem_real, mem_real_usage_get);
-   flow_chart_update_rate_set(flow_chart_mem_real, tmp_mem_interval);
-   chart_container_chart_add(chart_con, flow_chart_mem_real);
-   face->chart_mem = chart_con;   
-   flow_chart_callback_set(flow_chart_mem_real, 
_monitor_mem_real_text_update_callback, face);
-
-   flow_chart_mem_swap = flow_chart_new();
-   flow_chart_color_set(flow_chart_mem_swap, 51, 181, 69, 255);
-   flow_chart_get_value_function_set(flow_chart_mem_swap, mem_swap_usage_get);
-   flow_chart_update_rate_set(flow_chart_mem_swap, tmp_mem_interval);
-   flow_chart_alignment_set(flow_chart_mem_swap, 0);
-   chart_container_chart_add(chart_con, flow_chart_mem_swap);
-   flow_chart_callback_set(flow_chart_mem_swap, 
_monitor_mem_swap_text_update_callback, face);
-
-   o = evas_object_rectangle_add(con->bg_evas);
-   face->mem_ev_obj = o;
-   evas_object_color_set(o, 255,255,255,0);
-   evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, 
_monitor_face_cb_mouse_down, face);
-   evas_object_show(o);
-
-   /* setup net */
-   o = edje_object_add(con->bg_evas);
-   face->net = o;
-   edje_object_file_set(o, PACKAGE_DATA_DIR"/monitor.edj", "monitor/net");
-   e_table_pack(face->table_object, o, 2, 0, 1, 1);
-   e_table_pack_options_set(o, 1, 1, 1, 1, 0.5, 0.5, 0, 0, -1, -1);   
-   evas_object_layer_set(o, evas_object_layer_get(face->monitor_object)+1);
-   evas_object_show(o);
-   /* add net charts */
-   chart_con = chart_container_new(con->bg_evas,0,0,0,0);
-   flow_chart_net_in = flow_chart_new();
-   flow_chart_color_set(flow_chart_net_in, 213, 91, 91, 255);
-   flow_chart_get_value_function_set(flow_chart_net_in, net_in_usage_get);
-   flow_chart_update_rate_set(flow_chart_net_in, tmp_net_interval);
-   chart_container_chart_add(chart_con, flow_chart_net_in);
-   face->chart_net = chart_con;   
-   flow_chart_callback_set(flow_chart_net_in, 
_monitor_net_in_text_update_callcack, face);
-   
-   flow_chart_net_out = flow_chart_new();
-   flow_chart_color_set(flow_chart_net_out, 51, 181, 69, 255);
-   flow_chart_get_value_function_set(flow_chart_net_out, net_out_usage_get);
-   flow_chart_update_rate_set(flow_chart_net_out, tmp_net_interval);
-   flow_chart_alignment_set(flow_chart_net_out, 0);
-   chart_container_chart_add(chart_con, flow_chart_net_out);
-   flow_chart_callback_set(flow_chart_net_out, 
_monitor_net_out_text_update_callcack, face);
-
-   o = evas_object_rectangle_add(con->bg_evas);
-   face->net_ev_obj = o;
-   evas_object_color_set(o, 255,255,255,0);
-   evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, 
_monitor_face_cb_mouse_down, face);
-   evas_object_show(o);
-
-   /* setup wlan */
-   o = edje_object_add(con->bg_evas);
-   face->wlan = o;
-   edje_object_file_set(o, PACKAGE_DATA_DIR"/monitor.edj", "monitor/wlan");
-   e_table_pack(face->table_object, o, 3, 0, 1, 1);
-   e_table_pack_options_set(o, 1, 1, 1, 1, 0.5, 0.5, 0, 0, -1, -1);   
-   evas_object_layer_set(o, evas_object_layer_get(face->monitor_object)+1);
-   evas_object_show(o);
-   /* add wlan charts */
-   chart_con = chart_container_new(con->bg_evas,0,0,0,0);
-   flow_chart_wlan_link = flow_chart_new();
-   flow_chart_color_set(flow_chart_wlan_link, 33, 100, 220, 255);
-   flow_chart_get_value_function_set(flow_chart_wlan_link, wlan_link_get);
-   flow_chart_update_rate_set(flow_chart_wlan_link, tmp_wlan_interval);
-   chart_container_chart_add(chart_con, flow_chart_wlan_link);
-   face->chart_wlan = chart_con;
-   flow_chart_callback_set(flow_chart_wlan_link, 
_monitor_wlan_link_text_update_callcack, face);
-
-   o = evas_object_rectangle_add(con->bg_evas);
-   face->wlan_ev_obj = o;
-   evas_object_color_set(o, 255,255,255,0);
-   evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, 
_monitor_face_cb_mouse_down, face);
-   evas_object_show(o);
+   if (config->cpu)
+   {
+      o = edje_object_add(con->bg_evas);
+      face->cpu = o;
+      edje_object_file_set(o, PACKAGE_DATA_DIR"/monitor.edj", "monitor/cpu");
+      _add_sensor(face, face->cpu,config->Horz);
+      /* add cpu chart */
+      chart_con = chart_container_new(con->bg_evas,0,0,0,0);
+      flow_chart_cpu = flow_chart_new();
+      flow_chart_color_set(flow_chart_cpu, 33, 100, 220, 255);
+      flow_chart_get_value_function_set(flow_chart_cpu, cpu_usage_get);
+      flow_chart_update_rate_set(flow_chart_cpu, tmp_cpu_interval);
+      chart_container_chart_add(chart_con, flow_chart_cpu);
+      face->chart_cpu = chart_con;   
+      flow_chart_callback_set(flow_chart_cpu, 
_monitor_cpu_text_update_callcack, face);
+
+   }
+   if (config->mem)
+   {
+      /* setup mem */
+      o = edje_object_add(con->bg_evas);
+      face->mem = o;
+      edje_object_file_set(o, PACKAGE_DATA_DIR"/monitor.edj", "monitor/mem");
+      _add_sensor(face, face->mem,config->Horz);
+      /* add mem charts */
+      chart_con = chart_container_new(con->bg_evas,0,0,0,0);
+      flow_chart_mem_real = flow_chart_new();
+      flow_chart_color_set(flow_chart_mem_real, 213, 91, 91, 255);
+      flow_chart_get_value_function_set(flow_chart_mem_real, 
mem_real_usage_get);
+      flow_chart_update_rate_set(flow_chart_mem_real, tmp_mem_interval);
+      chart_container_chart_add(chart_con, flow_chart_mem_real);
+      face->chart_mem = chart_con;   
+      flow_chart_callback_set(flow_chart_mem_real, 
_monitor_mem_real_text_update_callback, face);
+
+      flow_chart_mem_swap = flow_chart_new();
+      flow_chart_color_set(flow_chart_mem_swap, 51, 181, 69, 255);
+      flow_chart_get_value_function_set(flow_chart_mem_swap, 
mem_swap_usage_get);
+      flow_chart_update_rate_set(flow_chart_mem_swap, tmp_mem_interval);
+      flow_chart_alignment_set(flow_chart_mem_swap, 0);
+      chart_container_chart_add(chart_con, flow_chart_mem_swap);
+      flow_chart_callback_set(flow_chart_mem_swap, 
_monitor_mem_swap_text_update_callback, face);
+    }
+   if (config->net)
+   {
+      /* setup net */
+      o = edje_object_add(con->bg_evas);
+      face->net = o;
+      edje_object_file_set(o, PACKAGE_DATA_DIR"/monitor.edj", "monitor/net");
+      _add_sensor(face, face->net, config->Horz);
+      /* add net charts */
+      chart_con = chart_container_new(con->bg_evas,0,0,0,0);
+      flow_chart_net_in = flow_chart_new();
+      flow_chart_color_set(flow_chart_net_in, 213, 91, 91, 255);
+      flow_chart_get_value_function_set(flow_chart_net_in, net_in_usage_get);
+      flow_chart_update_rate_set(flow_chart_net_in, tmp_net_interval);
+      chart_container_chart_add(chart_con, flow_chart_net_in);
+      face->chart_net = chart_con;   
+      flow_chart_callback_set(flow_chart_net_in, 
_monitor_net_in_text_update_callcack, face);
+   
+      flow_chart_net_out = flow_chart_new();
+      flow_chart_color_set(flow_chart_net_out, 51, 181, 69, 255);
+      flow_chart_get_value_function_set(flow_chart_net_out, net_out_usage_get);
+      flow_chart_update_rate_set(flow_chart_net_out, tmp_net_interval);
+      flow_chart_alignment_set(flow_chart_net_out, 0);
+      chart_container_chart_add(chart_con, flow_chart_net_out);
+      flow_chart_callback_set(flow_chart_net_out, 
_monitor_net_out_text_update_callcack, face);
+   }
+
+   if (config->wlan)
+   {
+      /* setup wlan */
+      o = edje_object_add(con->bg_evas);
+      face->wlan = o;
+      edje_object_file_set(o, PACKAGE_DATA_DIR"/monitor.edj", "monitor/wlan");
+      _add_sensor(face, face->wlan,config->Horz);
+      /* add wlan charts */
+      chart_con = chart_container_new(con->bg_evas,0,0,0,0);
+      flow_chart_wlan_link = flow_chart_new();
+      flow_chart_color_set(flow_chart_wlan_link, 33, 100, 220, 255);
+      flow_chart_get_value_function_set(flow_chart_wlan_link, wlan_link_get);
+      flow_chart_update_rate_set(flow_chart_wlan_link, tmp_wlan_interval);
+      chart_container_chart_add(chart_con, flow_chart_wlan_link);
+      face->chart_wlan = chart_con;
+      flow_chart_callback_set(flow_chart_wlan_link, 
_monitor_wlan_link_text_update_callcack, face);
+   }
+
+   face->monitor_cover_obj = evas_object_rectangle_add(face->con->bg_evas);   
+   evas_object_color_set(face->monitor_cover_obj, 255,255,255,0);
+   evas_object_event_callback_add(face->monitor_cover_obj, 
EVAS_CALLBACK_MOUSE_DOWN,
+                                                        
_monitor_face_cb_mouse_down, face);
+   evas_object_show(face->monitor_cover_obj);
 
    /* setup gadman */
    face->gmc = e_gadman_client_new(con->gadman);
@@ -559,21 +558,17 @@
 {
    e_object_unref(E_OBJECT(face->con));
    e_object_del(E_OBJECT(face->gmc));
- 
+
    evas_object_del(face->cpu);
-   evas_object_del(face->cpu_ev_obj);
    evas_object_del(face->mem);
-   evas_object_del(face->mem_ev_obj);
    evas_object_del(face->net);
-   evas_object_del(face->net_ev_obj);
    evas_object_del(face->wlan);
-   evas_object_del(face->wlan_ev_obj);
 
    chart_container_del(face->chart_cpu);
    chart_container_del(face->chart_mem);
    chart_container_del(face->chart_net);
    chart_container_del(face->chart_wlan);
-   
+
    if (face->monitor_object) evas_object_del(face->monitor_object);
    if (face->table_object) evas_object_del(face->table_object);
 
@@ -600,30 +595,32 @@
 
         evas_object_move(face->monitor_object, x, y);
         evas_object_resize(face->monitor_object, w, h);
+        evas_object_move(face->monitor_cover_obj, x, y);
+        evas_object_resize(face->monitor_cover_obj, w, h);
 
-        evas_object_geometry_get(face->cpu,  &x, &y, &w, &h);
-        evas_object_move(face->cpu_ev_obj, x, y);
-        evas_object_resize(face->cpu_ev_obj, w, h);
-        chart_container_move(face->chart_cpu, x+2,y+2);
-        chart_container_resize(face->chart_cpu, w-4,h-4);
-
-        evas_object_geometry_get(face->mem,  &x, &y, &w, &h);
-        evas_object_move(face->mem_ev_obj, x, y);
-        evas_object_resize(face->mem_ev_obj, w, h);
-        chart_container_move(face->chart_mem, x+2,y+2);
-        chart_container_resize(face->chart_mem, w-4,h-4);
+        if (face->cpu) evas_object_geometry_get(face->cpu,  &x, &y, &w, &h);
+        //evas_object_move(face->cpu_ev_obj, x, y);
+        //evas_object_resize(face->cpu_ev_obj, w, h);
+        if (face->cpu) chart_container_move(face->chart_cpu, x+2,y+2);
+        if (face->cpu) chart_container_resize(face->chart_cpu, w-4,h-4);
+
+        if (face->mem) evas_object_geometry_get(face->mem,  &x, &y, &w, &h);
+        //evas_object_move(face->mem_ev_obj, x, y);
+        //evas_object_resize(face->mem_ev_obj, w, h);
+        if (face->mem) chart_container_move(face->chart_mem, x+2,y+2);
+        if (face->mem) chart_container_resize(face->chart_mem, w-4,h-4);
         
-        evas_object_geometry_get(face->net,  &x, &y, &w, &h);
-        evas_object_move(face->net_ev_obj, x, y);
-        evas_object_resize(face->net_ev_obj, w, h);
-        chart_container_move(face->chart_net, x+2,y+2);
-        chart_container_resize(face->chart_net, w-4,h-4);
-
-        evas_object_geometry_get(face->wlan,  &x, &y, &w, &h);
-        evas_object_move(face->wlan_ev_obj, x, y);
-        evas_object_resize(face->wlan_ev_obj, w, h);
-        chart_container_move(face->chart_wlan, x+2,y+2);
-        chart_container_resize(face->chart_wlan, w-4,h-4);
+        if (face->net) evas_object_geometry_get(face->net,  &x, &y, &w, &h);
+        //evas_object_move(face->net_ev_obj, x, y);
+        //evas_object_resize(face->net_ev_obj, w, h);
+        if (face->net) chart_container_move(face->chart_net, x+2,y+2);
+        if (face->net) chart_container_resize(face->chart_net, w-4,h-4);
+
+        if (face->wlan) evas_object_geometry_get(face->wlan,  &x, &y, &w, &h);
+        //evas_object_move(face->wlan_ev_obj, x, y);
+        //evas_object_resize(face->wlan_ev_obj, w, h);
+        if (face->wlan) chart_container_move(face->chart_wlan, x+2,y+2);
+        if (face->wlan) chart_container_resize(face->chart_wlan, w-4,h-4);
 
         break;
       case E_GADMAN_CHANGE_RAISE:
@@ -647,7 +644,7 @@
    e_gadman_mode_set(face->gmc->gadman, E_GADMAN_MODE_EDIT);
 }
 
-static void
+void
 _monitor_face_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void 
*event_info)
 {
    Monitor_Face *face;
@@ -712,19 +709,24 @@
    Monitor_Face *face;
    
    face = data;
-   flow_chart_update_rate_set(flow_chart_cpu, face->conf->cpu_interval);
+   if (face->cpu) flow_chart_update_rate_set(flow_chart_cpu, 
face->conf->cpu_interval);
 
-   mem_real_ignore_cached_set(face->conf->mem_real_ignore_cached);
-   mem_real_ignore_buffers_set(face->conf->mem_real_ignore_buffers);
-   flow_chart_update_rate_set(flow_chart_mem_real, face->conf->mem_interval);
-   flow_chart_update_rate_set(flow_chart_mem_swap, face->conf->mem_interval);
-
-   wlan_interface_set(face->conf->wlan_interface);
-   flow_chart_update_rate_set(flow_chart_wlan_link, face->conf->wlan_interval);
-
-   net_interface_set(face->conf->net_interface);
-   flow_chart_update_rate_set(flow_chart_net_in, face->conf->net_interval);
-   flow_chart_update_rate_set(flow_chart_net_out, face->conf->net_interval);   
+   if (face->mem) 
mem_real_ignore_cached_set(face->conf->mem_real_ignore_cached);
+   {
+       mem_real_ignore_buffers_set(face->conf->mem_real_ignore_buffers);
+       flow_chart_update_rate_set(flow_chart_mem_real, 
face->conf->mem_interval);
+       flow_chart_update_rate_set(flow_chart_mem_swap, 
face->conf->mem_interval);
+   }
+
+   if (face->wlan) wlan_interface_set(face->conf->wlan_interface);
+   if (face->wlan) flow_chart_update_rate_set(flow_chart_wlan_link, 
face->conf->wlan_interval);
+
+   if (face->net) 
+   {    
+       net_interface_set(face->conf->net_interface);
+       flow_chart_update_rate_set(flow_chart_net_in, face->conf->net_interval);
+       flow_chart_update_rate_set(flow_chart_net_out, 
face->conf->net_interval);   
+   }
 }
 
 static void 
@@ -736,3 +738,178 @@
    if (!f) return;
    _config_monitor_module(f->con, f);  
 }
+static void
+_add_sensor(Monitor_Face *face, Evas_Object *o, int VerHor)
+{
+   if (VerHor)
+       e_table_pack(face->table_object, o, num_sensors, 0, 1, 1);
+   else
+       e_table_pack(face->table_object, o, 0, num_sensors, 1, 1);
+   e_table_pack_options_set(o, 1, 1, 1, 1, 0.5, 0.5, 0, 0, -1, -1);
+   evas_object_layer_set(o, evas_object_layer_get(face->monitor_object)+1);
+   evas_object_show(o);
+   num_sensors++;
+}
+
+void rebuild_monitor(Monitor_Face *face)
+{
+
+printf ("string values... %s\n", face->conf->net_interface);
+   Chart_Container *chart_con;
+   Monitor *mon;
+   Monitor_Face *f;
+
+   num_sensors = 0;
+
+   e_object_del(E_OBJECT(face->gmc));
+
+   if (face->cpu) evas_object_del(face->cpu);
+   face->cpu = NULL;
+   if (face->mem) evas_object_del(face->mem);
+   face->mem = NULL;
+   if (face->net) evas_object_del(face->net);
+   face->net = NULL;
+   if (face->wlan) evas_object_del(face->wlan);
+   face->wlan = NULL;
+
+   if (face->chart_cpu) chart_container_del(face->chart_cpu);
+   face->chart_cpu = NULL;
+   if (face->chart_mem) chart_container_del(face->chart_mem);
+   face->chart_mem = NULL;
+   if (face->chart_net) chart_container_del(face->chart_net);
+   face->chart_net = NULL;
+   if (face->chart_wlan) chart_container_del(face->chart_wlan);
+   face->chart_wlan = NULL;
+
+   if (face->monitor_object) evas_object_del(face->monitor_object);
+   if (face->table_object) evas_object_del(face->table_object);
+
+   e_object_del(E_OBJECT(face->menu));
+
+   Evas_Object *o;
+
+   evas_event_freeze(face->con->bg_evas);
+
+   /* setup monitor object */
+   o = edje_object_add(face->con->bg_evas);
+   face->monitor_object = o;
+   edje_object_file_set(o, PACKAGE_DATA_DIR"/monitor.edj", "monitor/main");
+   evas_object_show(o);
+   /* setup res table */
+   o = e_table_add(face->con->bg_evas);
+   face->table_object = o;
+   e_table_homogenous_set(o, 1);   
+   edje_object_part_swallow(face->monitor_object, "items", face->table_object);
+   evas_object_show(o);
+
+   /* setup cpu */
+   if (face->mon->conf->cpu)
+   {
+      o = edje_object_add(face->con->bg_evas);
+      face->cpu = o;
+      edje_object_file_set(o, PACKAGE_DATA_DIR"/monitor.edj", "monitor/cpu");
+      _add_sensor(face, face->cpu,face->mon->conf->Horz);
+      /* add cpu chart */
+      chart_con = chart_container_new(face->con->bg_evas,0,0,0,0);
+      flow_chart_cpu = flow_chart_new();
+      flow_chart_color_set(flow_chart_cpu, 33, 100, 220, 255);
+      flow_chart_get_value_function_set(flow_chart_cpu, cpu_usage_get);
+      flow_chart_update_rate_set(flow_chart_cpu, face->conf->cpu_interval);
+      chart_container_chart_add(chart_con, flow_chart_cpu);
+      face->chart_cpu = chart_con;   
+      flow_chart_callback_set(flow_chart_cpu, 
_monitor_cpu_text_update_callcack, face);
+
+   }
+   if (face->mon->conf->mem)
+   {
+      /* setup mem */
+      o = edje_object_add(face->con->bg_evas);
+      face->mem = o;
+      edje_object_file_set(o, PACKAGE_DATA_DIR"/monitor.edj", "monitor/mem");
+      _add_sensor(face, face->mem,face->mon->conf->Horz);
+      /* add mem charts */
+      chart_con = chart_container_new(face->con->bg_evas,0,0,0,0);
+      flow_chart_mem_real = flow_chart_new();
+      flow_chart_color_set(flow_chart_mem_real, 213, 91, 91, 255);
+      flow_chart_get_value_function_set(flow_chart_mem_real, 
mem_real_usage_get);
+      flow_chart_update_rate_set(flow_chart_mem_real, 
face->conf->mem_interval);
+      chart_container_chart_add(chart_con, flow_chart_mem_real);
+      face->chart_mem = chart_con;   
+      flow_chart_callback_set(flow_chart_mem_real, 
_monitor_mem_real_text_update_callback, face);
+
+      flow_chart_mem_swap = flow_chart_new();
+      flow_chart_color_set(flow_chart_mem_swap, 51, 181, 69, 255);
+      flow_chart_get_value_function_set(flow_chart_mem_swap, 
mem_swap_usage_get);
+      flow_chart_update_rate_set(flow_chart_mem_swap, 
face->conf->mem_interval);
+      flow_chart_alignment_set(flow_chart_mem_swap, 0);
+      chart_container_chart_add(chart_con, flow_chart_mem_swap);
+      flow_chart_callback_set(flow_chart_mem_swap, 
_monitor_mem_swap_text_update_callback, face);
+    }
+   if (face->mon->conf->net)
+   {
+      /* setup net */
+      o = edje_object_add(face->con->bg_evas);
+      face->net = o;
+      edje_object_file_set(o, PACKAGE_DATA_DIR"/monitor.edj", "monitor/net");
+      _add_sensor(face, face->net, face->mon->conf->Horz);
+      /* add net charts */
+      chart_con = chart_container_new(face->con->bg_evas,0,0,0,0);
+      flow_chart_net_in = flow_chart_new();
+      flow_chart_color_set(flow_chart_net_in, 213, 91, 91, 255);
+      flow_chart_get_value_function_set(flow_chart_net_in, net_in_usage_get);
+      flow_chart_update_rate_set(flow_chart_net_in, face->conf->net_interval);
+      chart_container_chart_add(chart_con, flow_chart_net_in);
+      face->chart_net = chart_con;   
+      flow_chart_callback_set(flow_chart_net_in, 
_monitor_net_in_text_update_callcack, face);
+   
+      flow_chart_net_out = flow_chart_new();
+      flow_chart_color_set(flow_chart_net_out, 51, 181, 69, 255);
+      flow_chart_get_value_function_set(flow_chart_net_out, net_out_usage_get);
+      flow_chart_update_rate_set(flow_chart_net_out, face->conf->net_interval);
+      flow_chart_alignment_set(flow_chart_net_out, 0);
+      chart_container_chart_add(chart_con, flow_chart_net_out);
+      flow_chart_callback_set(flow_chart_net_out, 
_monitor_net_out_text_update_callcack, face);
+   }
+
+   if (face->mon->conf->wlan)
+   {
+      /* setup wlan */
+      o = edje_object_add(face->con->bg_evas);
+      face->wlan = o;
+      edje_object_file_set(o, PACKAGE_DATA_DIR"/monitor.edj", "monitor/wlan");
+      _add_sensor(face, face->wlan,face->mon->conf->Horz);
+      /* add wlan charts */
+      chart_con = chart_container_new(face->con->bg_evas,0,0,0,0);
+      flow_chart_wlan_link = flow_chart_new();
+      flow_chart_color_set(flow_chart_wlan_link, 33, 100, 220, 255);
+      flow_chart_get_value_function_set(flow_chart_wlan_link, wlan_link_get);
+      flow_chart_update_rate_set(flow_chart_wlan_link, 
face->conf->wlan_interval);
+      chart_container_chart_add(chart_con, flow_chart_wlan_link);
+      face->chart_wlan = chart_con;
+      flow_chart_callback_set(flow_chart_wlan_link, 
_monitor_wlan_link_text_update_callcack, face);
+   }
+
+   face->monitor_cover_obj = evas_object_rectangle_add(face->con->bg_evas);   
+   evas_object_color_set(face->monitor_cover_obj, 255,255,255,0);
+   evas_object_event_callback_add(face->monitor_cover_obj, 
EVAS_CALLBACK_MOUSE_DOWN,
+                                                        
_monitor_face_cb_mouse_down, face);
+   evas_object_show(face->monitor_cover_obj);
+
+   /* setup gadman */
+   face->gmc = e_gadman_client_new(face->con->gadman);
+   e_gadman_client_domain_set(face->gmc, "module.monitor", _monitor_count++);
+   e_gadman_client_policy_set(face->gmc,
+                             E_GADMAN_POLICY_ANYWHERE |
+                             E_GADMAN_POLICY_HMOVE |
+                             E_GADMAN_POLICY_VMOVE |
+                             E_GADMAN_POLICY_HSIZE |
+                             E_GADMAN_POLICY_VSIZE);
+   e_gadman_client_min_size_set(face->gmc, 14, 7);
+   e_gadman_client_align_set(face->gmc, 1.0, 1.0);
+   e_gadman_client_resize(face->gmc, 160, 40);
+   e_gadman_client_change_func_set(face->gmc, _monitor_face_cb_gmc_change, 
face);
+   e_gadman_client_load(face->gmc);
+
+   evas_event_thaw(face->con->bg_evas);
+
+}
===================================================================
RCS file: /cvsroot/enlightenment/e_modules/monitor/e_mod_main.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- e_mod_main.h        21 Dec 2005 10:34:22 -0000      1.3
+++ e_mod_main.h        24 Dec 2005 02:31:46 -0000      1.4
@@ -18,6 +18,11 @@
 struct _Config
 {
    Evas_List *faces;
+   int cpu;
+   int mem;
+   int net;
+   int wlan;
+   int Horz;
 };
 
 struct _Config_Face
@@ -29,7 +34,7 @@
    double mem_interval;
    double net_interval;
    double wlan_interval;
-   
+
    char *net_interface;
    char *wlan_interface;
 
@@ -53,8 +58,8 @@
    Config_Face *conf;
 
   Evas_Object *cpu, *net, *mem, *wlan;
-  Evas_Object *cpu_ev_obj, *net_ev_obj, *mem_ev_obj, *wlan_ev_obj;
-  Evas_Object *table_object, *monitor_object;
+  //Evas_Object *cpu_ev_obj, *net_ev_obj, *mem_ev_obj, *wlan_ev_obj;
+  Evas_Object *table_object, *monitor_object, *monitor_cover_obj;
 
   Chart_Container *chart_cpu, *chart_net, *chart_mem, *chart_wlan;
 
@@ -71,4 +76,7 @@
 EAPI int   e_modapi_config   (E_Module *m);
 
 EAPI void _monitor_cb_config_updated(void *data);
+void _monitor_face_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void 
*event_info);
+void rebuild_monitor(Monitor_Face *face);
+
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/e_modules/monitor/flow_chart.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- flow_chart.c        12 Dec 2005 05:09:41 -0000      1.1
+++ flow_chart.c        24 Dec 2005 02:31:46 -0000      1.2
@@ -1,5 +1,4 @@
 #include "flow_chart.h"
-
 #include <stdlib.h>
 
 static int 
@@ -297,6 +296,7 @@
   evas_object_move(o, x, y);
   evas_object_resize(o, w, h);
   evas_object_pass_events_set(o, 1); 
+
   //evas_object_show(o);
 
   return chart_con;
===================================================================
RCS file: /cvsroot/enlightenment/e_modules/monitor/flow_chart.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- flow_chart.h        12 Dec 2005 05:09:41 -0000      1.1
+++ flow_chart.h        24 Dec 2005 02:31:46 -0000      1.2
@@ -1,3 +1,5 @@
+#ifndef FLOW_CHART_H
+#define FLOW_CHART_H
 
 #include <Ecore.h>
 #include <Evas.h>
@@ -6,6 +8,8 @@
 typedef struct _Chart_Container Chart_Container;
 typedef struct _Flow_Chart Flow_Chart;
 
+#include "e_mod_main.h"
+
 struct _Chart_Container
 {
   Evas *evas;
@@ -68,3 +72,5 @@
 void      chart_container_chart_remove(Chart_Container *con, Flow_Chart 
*chart);
 void      chart_container_stop_charts(Chart_Container *chart_con);
 void      chart_container_run_charts(Chart_Container *chart_con);
+
+#endif




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to