Add named log level
[fio.git] / gclient.c
index 5e333d425c1ba9618328ccdc86bae48f0c921061..8d63586ceb91fd7b0ba6d26379c928d3236624a8 100644 (file)
--- a/gclient.c
+++ b/gclient.c
@@ -122,7 +122,7 @@ static void gfio_text_op(struct fio_client *client, struct fio_net_cmd *cmd)
        gtk_list_store_append(ui->log_model, &iter);
        gtk_list_store_set(ui->log_model, &iter, 0, timebuf, -1);
        gtk_list_store_set(ui->log_model, &iter, 1, client->hostname, -1);
-       gtk_list_store_set(ui->log_model, &iter, 2, p->level, -1);
+       gtk_list_store_set(ui->log_model, &iter, 2, log_get_level(p->level), -1);
        gtk_list_store_set(ui->log_model, &iter, 3, p->buf, -1);
 
        if (p->level == FIO_LOG_ERR)
@@ -550,22 +550,35 @@ static void gfio_quit_op(struct fio_client *client, struct fio_net_cmd *cmd)
        gdk_threads_leave();
 }
 
+static struct thread_options *gfio_client_add_job(struct gfio_client *gc,
+                       struct thread_options_pack *top)
+{
+       struct gfio_client_options *gco;
+
+       gco = calloc(1, sizeof(*gco));
+       convert_thread_options_to_cpu(&gco->o, top);
+       INIT_FLIST_HEAD(&gco->list);
+       flist_add_tail(&gco->list, &gc->o_list);
+       gc->o_list_nr = 1;
+       return &gco->o;
+}
+
 static void gfio_add_job_op(struct fio_client *client, struct fio_net_cmd *cmd)
 {
        struct cmd_add_job_pdu *p = (struct cmd_add_job_pdu *) cmd->payload;
        struct gfio_client *gc = client->client_data;
-       struct thread_options *o = &gc->o;
        struct gui_entry *ge = gc->ge;
+       struct thread_options *o;
        char *c1, *c2, *c3, *c4;
        char tmp[80];
 
        p->thread_number = le32_to_cpu(p->thread_number);
        p->groupid = le32_to_cpu(p->groupid);
-       convert_thread_options_to_cpu(o, &p->top);
+       o = gfio_client_add_job(gc, &p->top);
 
        gdk_threads_enter();
 
-       gtk_combo_box_append_text(GTK_COMBO_BOX(ge->eta.names), (gchar *) o->name);
+       gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(ge->eta.names), (gchar *) o->name);
        gtk_combo_box_set_active(GTK_COMBO_BOX(ge->eta.names), 0);
 
        sprintf(tmp, "%s %s", o->odirect ? "direct" : "buffered", ddir_str(o->td_ddir));
@@ -763,7 +776,7 @@ static void gfio_show_io_depths(GtkWidget *vbox, struct thread_stat *ts)
        gfio_add_sc_depths_tree(model, ts, nr_labels, 1);
        gfio_add_sc_depths_tree(model, ts, nr_labels, 0);
 
-       gtk_box_pack_start(GTK_BOX(box), tree_view, TRUE, FALSE, 3);
+       gtk_box_pack_start(GTK_BOX(box), tree_view, TRUE, TRUE, 3);
 }
 
 static void gfio_show_cpu_usage(GtkWidget *vbox, struct thread_stat *ts)
@@ -879,7 +892,7 @@ static int on_expose_lat_drawing_area(GtkWidget *w, GdkEvent *event, gpointer p)
        struct graph *g = p;
        cairo_t *cr;
 
-       cr = gdk_cairo_create(w->window);
+       cr = gdk_cairo_create(gtk_widget_get_window(w));
 #if 0
        if (graph_has_tooltips(g)) {
                g_object_set(w, "has-tooltip", TRUE, NULL);
@@ -896,10 +909,12 @@ static int on_expose_lat_drawing_area(GtkWidget *w, GdkEvent *event, gpointer p)
 static gint on_config_lat_drawing_area(GtkWidget *w, GdkEventConfigure *event,
                                       gpointer data)
 {
+       guint width = gtk_widget_get_allocated_width(w);
+       guint height = gtk_widget_get_allocated_height(w);
        struct graph *g = data;
 
-       graph_set_size(g, w->allocation.width, w->allocation.height);
-       graph_set_size(g, w->allocation.width, w->allocation.height);
+       graph_set_size(g, width, height);
+       graph_set_size(g, width, height);
        graph_set_position(g, 0, 0);
        return TRUE;
 }
@@ -954,10 +969,10 @@ static void gfio_show_latency_buckets(struct gfio_client *gc, GtkWidget *vbox,
        gtk_widget_set_size_request(GTK_WIDGET(drawing_area), 700, 300);
        gtk_widget_modify_bg(drawing_area, GTK_STATE_NORMAL, &gfio_color_white);
        gtk_container_add(GTK_CONTAINER(completion_vbox), drawing_area);
-       g_signal_connect(G_OBJECT(drawing_area), "expose_event", G_CALLBACK(on_expose_lat_drawing_area), ge->lat_bucket_graph);
+       g_signal_connect(G_OBJECT(drawing_area), GFIO_DRAW_EVENT, G_CALLBACK(on_expose_lat_drawing_area), ge->lat_bucket_graph);
         g_signal_connect(G_OBJECT(drawing_area), "configure_event", G_CALLBACK(on_config_lat_drawing_area), ge->lat_bucket_graph);
 
-       gtk_box_pack_start(GTK_BOX(hbox), tree_view, TRUE, FALSE, 3);
+       gtk_box_pack_start(GTK_BOX(hbox), tree_view, TRUE, TRUE, 3);
 }
 
 static void gfio_show_lat(GtkWidget *vbox, const char *name, unsigned long min,
@@ -1110,10 +1125,10 @@ static void gfio_show_clat_percentiles(struct gfio_client *gc,
        gtk_widget_set_size_request(GTK_WIDGET(drawing_area), 700, 300);
        gtk_widget_modify_bg(drawing_area, GTK_STATE_NORMAL, &gfio_color_white);
        gtk_container_add(GTK_CONTAINER(completion_vbox), drawing_area);
-       g_signal_connect(G_OBJECT(drawing_area), "expose_event", G_CALLBACK(on_expose_lat_drawing_area), ge->clat_graph);
+       g_signal_connect(G_OBJECT(drawing_area), GFIO_DRAW_EVENT, G_CALLBACK(on_expose_lat_drawing_area), ge->clat_graph);
        g_signal_connect(G_OBJECT(drawing_area), "configure_event", G_CALLBACK(on_config_lat_drawing_area), ge->clat_graph);
 
-       gtk_box_pack_start(GTK_BOX(hbox), tree_view, TRUE, FALSE, 3);
+       gtk_box_pack_start(GTK_BOX(hbox), tree_view, TRUE, TRUE, 3);
 out:
        if (ovals)
                free(ovals);
@@ -1153,7 +1168,7 @@ static void gfio_show_ddir_status(struct gfio_client *gc, GtkWidget *mbox,
        gtk_box_pack_start(GTK_BOX(mbox), box, TRUE, FALSE, 3);
 
        frame = gtk_frame_new(ddir_label[ddir]);
-       gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5);
+       gtk_box_pack_start(GTK_BOX(box), frame, TRUE, TRUE, 5);
 
        main_vbox = gtk_vbox_new(FALSE, 3);
        gtk_container_add(GTK_CONTAINER(frame), main_vbox);