gfio: make empty graph show grid lines, not "No good data"
[fio.git] / gfio.c
diff --git a/gfio.c b/gfio.c
index 7ff6ea6b42acb771eef0b91cca0d913168e26978..b1caa6780d51c21d17ddc1cecb0e33ed83a6d42c 100644 (file)
--- a/gfio.c
+++ b/gfio.c
@@ -121,6 +121,18 @@ struct gfio_client {
        GtkWidget *disk_util_frame;
 };
 
+static void add_invisible_data(struct graph *g)
+{
+       /*
+        * This puts some invisible data into a graph so that it will
+        * initially have some grid lines instead of "No good data"
+        */
+       graph_add_label(g, "invisible");
+       graph_set_color(g, "invisible", INVISIBLE_COLOR, 0.0, 0.7);
+       graph_add_xy_data(g, "invisible", 0.0, 0.0);
+       graph_add_xy_data(g, "invisible", 1.0, 100.0);
+}
+
 static void setup_iops_graph(struct gui *ui)
 {
        if (ui->iops_graph)
@@ -134,6 +146,7 @@ static void setup_iops_graph(struct gui *ui)
        graph_add_label(ui->iops_graph, "Write IOPS");
        graph_set_color(ui->iops_graph, "Read IOPS", 0.7, 0.0, 0.0);
        graph_set_color(ui->iops_graph, "Write IOPS", 0.0, 0.0, 0.7);
+       add_invisible_data(ui->iops_graph);
 }
 
 static void setup_bandwidth_graph(struct gui *ui)
@@ -149,6 +162,7 @@ static void setup_bandwidth_graph(struct gui *ui)
        graph_add_label(ui->bandwidth_graph, "Write Bandwidth");
        graph_set_color(ui->bandwidth_graph, "Read Bandwidth", 0.7, 0.0, 0.0);
        graph_set_color(ui->bandwidth_graph, "Write Bandwidth", 0.0, 0.0, 0.7);
+       add_invisible_data(ui->bandwidth_graph);
 }
 
 static void clear_ui_info(struct gui *ui)
@@ -1827,6 +1841,7 @@ static void init_ui(int *argc, char **argv[], struct gui *ui)
        GtkSettings *settings;
        GtkUIManager *uimanager;
        GtkWidget *menu, *probe, *probe_frame, *probe_box;
+       GdkColor white;
 
        memset(ui, 0, sizeof(*ui));
 
@@ -1912,9 +1927,11 @@ static void init_ui(int *argc, char **argv[], struct gui *ui)
        /*
         * Set up a drawing area and IOPS and bandwidth graphs
         */
+       gdk_color_parse("white", &white);
        ui->drawing_area = gtk_drawing_area_new();
        gtk_widget_set_size_request(GTK_WIDGET(ui->drawing_area), 
                        DRAWING_AREA_XDIM, DRAWING_AREA_YDIM);
+       gtk_widget_modify_bg(ui->drawing_area, GTK_STATE_NORMAL, &white);
        g_signal_connect(G_OBJECT(ui->drawing_area), "expose_event",
                                G_CALLBACK (on_expose_drawing_area), ui);
        ui->scrolled_window = gtk_scrolled_window_new(NULL, NULL);