aboutsummaryrefslogtreecommitdiff
path: root/hardinfo2
diff options
context:
space:
mode:
authorLeandro Pereira <leandro@daileon.acd.puc-campinas.edu.br>2008-10-29 12:48:44 -0200
committerLeandro Pereira <leandro@daileon.acd.puc-campinas.edu.br>2008-10-29 12:48:44 -0200
commiteb244bb6e76d023f16d1bf6fb1204d7233a9bd11 (patch)
treee23ed7d2164a9ba4f3b93b4b4a19030a548ccaa7 /hardinfo2
parent32d83fb15ba35b0fe621b3be2c44ec581bebe394 (diff)
Start working on a better benchmark visualization
Diffstat (limited to 'hardinfo2')
-rw-r--r--hardinfo2/benchmark.c5
-rw-r--r--hardinfo2/shell.c74
-rw-r--r--hardinfo2/shell.h4
3 files changed, 71 insertions, 12 deletions
diff --git a/hardinfo2/benchmark.c b/hardinfo2/benchmark.c
index 1efe34ba..f9d7926b 100644
--- a/hardinfo2/benchmark.c
+++ b/hardinfo2/benchmark.c
@@ -184,6 +184,11 @@ static gchar *__benchmark_include_results(gdouble result,
"Zebra=1\n"
"OrderType=%d\n"
"ViewType=3\n"
+ "ColumnTitle$Extra1=CPU Clock\n"
+ "ColumnTitle$Extra2=Memory\n"
+ "ColumnTitle$Progress=Results\n"
+ "ColumnTitle$TextValue=CPU\n"
+ "ShowColumnHeaders=true\n"
"[%s]\n"
"<big><b>This Machine</b></big>=%.3f\n"
"%s", order_type, benchmark, result, results);
diff --git a/hardinfo2/shell.c b/hardinfo2/shell.c
index cf3b776d..3dd106e2 100644
--- a/hardinfo2/shell.c
+++ b/hardinfo2/shell.c
@@ -724,7 +724,12 @@ static void set_view_type(ShellViewType viewtype)
gtk_tree_view_set_model(GTK_TREE_VIEW(shell->info->view),
shell->info->model);
+ /* reset to the default header values */
+ gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(shell->info->view), FALSE);
+
/* reset to the default view columns */
+ gtk_tree_view_column_set_visible(shell->info->col_extra1, FALSE);
+ gtk_tree_view_column_set_visible(shell->info->col_extra2, FALSE);
gtk_tree_view_column_set_visible(shell->info->col_progress, FALSE);
gtk_tree_view_column_set_visible(shell->info->col_value, TRUE);
@@ -811,6 +816,34 @@ group_handle_special(GKeyFile * key_file, ShellModuleEntry * entry,
ms = g_key_file_get_integer(key_file, group, key, NULL);
g_timeout_add(ms, rescan_section, entry);
+ } else if (g_str_equal(key, "ShowColumnHeaders")) {
+ gboolean show;
+
+ show = g_key_file_get_boolean(key_file, group, key, NULL);
+
+ gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(shell->info->view), show);
+ } else if (g_str_has_prefix(key, "ColumnTitle")) {
+ GtkTreeViewColumn *column;
+ gchar *value, *title = strchr(key, '$') + 1;
+
+ value = g_key_file_get_value(key_file, group, key, NULL);
+
+ if (g_str_equal(title, "Extra1")) {
+ column = shell->info->col_extra1;
+ } else if (g_str_equal(title, "Extra2")) {
+ column = shell->info->col_extra2;
+ } else if (g_str_equal(title, "Value")) {
+ column = shell->info->col_value;
+ } else if (g_str_equal(title, "TextValue")) {
+ column = shell->info->col_textvalue;
+ } else if (g_str_equal(title, "Progress")) {
+ column = shell->info->col_progress;
+ }
+
+ gtk_tree_view_column_set_title(column, value);
+ gtk_tree_view_column_set_visible(column, TRUE);
+
+ g_free(value);
} else if (g_str_equal(key, "OrderType")) {
shell->_order_type = g_key_file_get_integer(key_file,
group,
@@ -1249,12 +1282,26 @@ static ShellInfoTree *info_tree_new(gboolean extra)
store =
gtk_tree_store_new(INFO_TREE_NCOL, G_TYPE_STRING, G_TYPE_STRING,
- G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_FLOAT);
+ G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_FLOAT,
+ G_TYPE_STRING, G_TYPE_STRING);
model = GTK_TREE_MODEL(store);
treeview = gtk_tree_view_new_with_model(model);
gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview), FALSE);
- column = gtk_tree_view_column_new();
+ info->col_progress = column = gtk_tree_view_column_new();
+ gtk_tree_view_column_set_title(column, "Results");
+ gtk_tree_view_column_set_min_width(column, 240);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
+
+ cr_progress = gtk_cell_renderer_progress_new();
+ gtk_tree_view_column_pack_start(column, cr_progress, TRUE);
+ gtk_tree_view_column_add_attribute(column, cr_progress, "value",
+ INFO_TREE_COL_PROGRESS);
+ gtk_tree_view_column_add_attribute(column, cr_progress, "text",
+ INFO_TREE_COL_VALUE);
+ gtk_tree_view_column_set_visible(column, FALSE);
+
+ info->col_textvalue = column = gtk_tree_view_column_new();
gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
cr_pbuf = gtk_cell_renderer_pixbuf_new();
@@ -1267,24 +1314,29 @@ static ShellInfoTree *info_tree_new(gboolean extra)
gtk_tree_view_column_add_attribute(column, cr_text, "markup",
INFO_TREE_COL_NAME);
- info->col_value = column = gtk_tree_view_column_new();
+ info->col_extra1 = column = gtk_tree_view_column_new();
gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
cr_text = gtk_cell_renderer_text_new();
gtk_tree_view_column_pack_start(column, cr_text, FALSE);
gtk_tree_view_column_add_attribute(column, cr_text, "markup",
- INFO_TREE_COL_VALUE);
+ INFO_TREE_COL_EXTRA1);
- info->col_progress = column = gtk_tree_view_column_new();
+ info->col_extra2 = column = gtk_tree_view_column_new();
gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
- cr_progress = gtk_cell_renderer_progress_new();
- gtk_tree_view_column_pack_start(column, cr_progress, TRUE);
- gtk_tree_view_column_add_attribute(column, cr_progress, "value",
- INFO_TREE_COL_PROGRESS);
- gtk_tree_view_column_add_attribute(column, cr_progress, "text",
+ cr_text = gtk_cell_renderer_text_new();
+ gtk_tree_view_column_pack_start(column, cr_text, FALSE);
+ gtk_tree_view_column_add_attribute(column, cr_text, "markup",
+ INFO_TREE_COL_EXTRA2);
+
+ info->col_value = column = gtk_tree_view_column_new();
+ gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
+
+ cr_text = gtk_cell_renderer_text_new();
+ gtk_tree_view_column_pack_start(column, cr_text, FALSE);
+ gtk_tree_view_column_add_attribute(column, cr_text, "markup",
INFO_TREE_COL_VALUE);
- gtk_tree_view_column_set_visible(column, FALSE);
sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
diff --git a/hardinfo2/shell.h b/hardinfo2/shell.h
index f8f3afed..2fa2f968 100644
--- a/hardinfo2/shell.h
+++ b/hardinfo2/shell.h
@@ -65,6 +65,8 @@ typedef enum {
INFO_TREE_COL_DATA,
INFO_TREE_COL_PBUF,
INFO_TREE_COL_PROGRESS,
+ INFO_TREE_COL_EXTRA1,
+ INFO_TREE_COL_EXTRA2,
INFO_TREE_NCOL
} ShellInfoTreeColumns;
@@ -104,7 +106,7 @@ struct _ShellInfoTree {
GtkTreeModel *model;
GtkTreeSelection *selection;
- GtkTreeViewColumn *col_progress, *col_value;
+ GtkTreeViewColumn *col_progress, *col_value, *col_extra1, *col_extra2, *col_textvalue;
};
struct _ShellNote {