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