projects
/
lttv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update compat
[lttv.git]
/
ltt
/
branches
/
poly
/
lttv
/
modules
/
gui
/
statistics
/
statistics.c
diff --git
a/ltt/branches/poly/lttv/modules/gui/statistics/statistics.c
b/ltt/branches/poly/lttv/modules/gui/statistics/statistics.c
index 0e87e3822b6e8ade46cf440b82f5bb53c432cee8..7e781adbca6281d99ccc36cd9f4ef0191827fcb2 100644
(file)
--- a/
ltt/branches/poly/lttv/modules/gui/statistics/statistics.c
+++ b/
ltt/branches/poly/lttv/modules/gui/statistics/statistics.c
@@
-39,6
+39,7
@@
#include <lttvwindow/lttvwindow.h>
#include <lttvwindow/lttvwindowtraces.h>
#include <lttvwindow/lttvwindow.h>
#include <lttvwindow/lttvwindowtraces.h>
+#include <lttvwindow/lttv_plugin_tab.h>
#include "hGuiStatisticInsert.xpm"
#include "hGuiStatisticInsert.xpm"
@@
-57,9
+58,9
@@
static void request_background_data(StatisticViewerData *svd);
GtkWidget *guistatistic_get_widget(StatisticViewerData *svd);
//! Statistic Viewer's constructor hook
GtkWidget *guistatistic_get_widget(StatisticViewerData *svd);
//! Statistic Viewer's constructor hook
-GtkWidget *h_gui_statistic(
Tab *tab
);
+GtkWidget *h_gui_statistic(
LttvPlugin *plugin
);
//! Statistic Viewer's constructor
//! Statistic Viewer's constructor
-StatisticViewerData *gui_statistic(
Tab *
tab);
+StatisticViewerData *gui_statistic(
LttvPluginTab *p
tab);
//! Statistic Viewer's destructor
void gui_statistic_destructor(StatisticViewerData *statistic_viewer_data);
//! Statistic Viewer's destructor
void gui_statistic_destructor(StatisticViewerData *statistic_viewer_data);
@@
-91,6
+92,7
@@
enum
struct _StatisticViewerData{
Tab *tab;
struct _StatisticViewerData{
Tab *tab;
+ LttvPluginTab *ptab;
//LttvTracesetStats * stats;
int size;
//LttvTracesetStats * stats;
int size;
@@
-113,6
+115,8
@@
struct _StatisticViewerData{
//hash
GHashTable *statistic_hash;
//hash
GHashTable *statistic_hash;
+
+ guint background_info_waiting;
};
};
@@
-130,12
+134,16
@@
static gint background_ready(void *hook_data, void *call_data)
Tab *tab = svd->tab;
LttvTrace *trace = (LttvTrace*)call_data;
Tab *tab = svd->tab;
LttvTrace *trace = (LttvTrace*)call_data;
- g_debug("statistics viewer : background computation data ready.");
+ svd->background_info_waiting--;
+
+ if(svd->background_info_waiting == 0) {
+ g_message("statistics viewer : background computation data ready.");
- gtk_tree_store_clear (svd->store_m);
+
gtk_tree_store_clear (svd->store_m);
- lttv_stats_sum_traceset(lttvwindow_get_traceset_stats(tab));
- show_traceset_stats(svd);
+ lttv_stats_sum_traceset(lttvwindow_get_traceset_stats(tab));
+ show_traceset_stats(svd);
+ }
return 0;
}
return 0;
}
@@
-151,11
+159,15
@@
static void request_background_data(StatisticViewerData *svd)
gint num_traces = lttvwindowtraces_get_number();
gint i;
LttvTrace *trace;
gint num_traces = lttvwindowtraces_get_number();
gint i;
LttvTrace *trace;
+ GtkTextBuffer* buf;
LttvHooks *background_ready_hook =
lttv_hooks_new();
lttv_hooks_add(background_ready_hook, background_ready, svd,
LTTV_PRIO_DEFAULT);
LttvHooks *background_ready_hook =
lttv_hooks_new();
lttv_hooks_add(background_ready_hook, background_ready, svd,
LTTV_PRIO_DEFAULT);
+ svd->background_info_waiting = num_traces;
+ buf = gtk_text_view_get_buffer((GtkTextView*)svd->text_v);
+ gtk_text_buffer_set_text(buf,"", -1);
for(i=0;i<num_traces;i++) {
trace = lttvwindowtraces_get_trace(i);
for(i=0;i<num_traces;i++) {
trace = lttvwindowtraces_get_trace(i);
@@
-177,7
+189,6
@@
static void request_background_data(StatisticViewerData *svd)
NULL,
background_ready_hook);
} else { /* in progress */
NULL,
background_ready_hook);
} else { /* in progress */
-
lttvwindowtraces_background_notify_current(svd,
trace,
ltt_time_infinite,
lttvwindowtraces_background_notify_current(svd,
trace,
ltt_time_infinite,
@@
-190,6
+201,11
@@
static void request_background_data(StatisticViewerData *svd)
lttv_hooks_call(background_ready_hook, NULL);
}
}
lttv_hooks_call(background_ready_hook, NULL);
}
}
+
+ if(num_traces == 0) {
+ svd->background_info_waiting = 1;
+ lttv_hooks_call(background_ready_hook, NULL);
+ }
lttv_hooks_destroy(background_ready_hook);
}
lttv_hooks_destroy(background_ready_hook);
}
@@
-232,9
+248,10
@@
gui_statistic_destructor(StatisticViewerData *statistic_viewer_data)
* @return The widget created.
*/
GtkWidget *
* @return The widget created.
*/
GtkWidget *
-h_gui_statistic(
Tab *tab
)
+h_gui_statistic(
LttvPlugin *plugin
)
{
{
- StatisticViewerData* statistic_viewer_data = gui_statistic(tab) ;
+ LttvPluginTab *ptab = LTTV_PLUGIN_TAB(plugin);
+ StatisticViewerData* statistic_viewer_data = gui_statistic(ptab) ;
if(statistic_viewer_data)
return guistatistic_get_widget(statistic_viewer_data);
if(statistic_viewer_data)
return guistatistic_get_widget(statistic_viewer_data);
@@
-268,14
+285,15
@@
gboolean statistic_insert_traceset_stats(void * stats)
* @return The Statistic viewer data created.
*/
StatisticViewerData *
* @return The Statistic viewer data created.
*/
StatisticViewerData *
-gui_statistic(
Tab *
tab)
+gui_statistic(
LttvPluginTab *p
tab)
{
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
StatisticViewerData* statistic_viewer_data = g_new(StatisticViewerData,1);
{
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
StatisticViewerData* statistic_viewer_data = g_new(StatisticViewerData,1);
-
+ Tab *tab = ptab->tab;
statistic_viewer_data->tab = tab;
statistic_viewer_data->tab = tab;
+ statistic_viewer_data->ptab = ptab;
// statistic_viewer_data->stats =
// lttvwindow_get_traceset_stats(statistic_viewer_data->tab);
// statistic_viewer_data->calculate_stats =
// statistic_viewer_data->stats =
// lttvwindow_get_traceset_stats(statistic_viewer_data->tab);
// statistic_viewer_data->calculate_stats =
@@
-427,7
+445,7
@@
void show_traceset_stats(StatisticViewerData * statistic_viewer_data)
ts = tscs->parent.parent.ts;
nb = lttv_traceset_number(ts);
ts = tscs->parent.parent.ts;
nb = lttv_traceset_number(ts);
- if(nb == 0)return;
+ if(nb == 0)
return;
gtk_tree_store_append (store, &iter, NULL);
gtk_tree_store_set (store, &iter,
gtk_tree_store_append (store, &iter, NULL);
gtk_tree_store_set (store, &iter,
This page took
0.026018 seconds
and
4
git commands to generate.