X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=ghelpers.c;h=7acf588ab311ef9bb02a73746b40e74594e0ec81;hp=e2e8192c974fdd66ad7af1262d6ed54fdbeb7523;hb=99ac409c91fb38af259e871a305b1461d1b02fa4;hpb=49c34176d4130b3d4c4d90397a497b335f7ddbac diff --git a/ghelpers.c b/ghelpers.c index e2e8192c..7acf588a 100644 --- a/ghelpers.c +++ b/ghelpers.c @@ -2,6 +2,7 @@ #include #include +#include "gcompat.h" #include "ghelpers.h" GtkWidget *new_combo_entry_in_frame(GtkWidget *box, const char *label) @@ -9,7 +10,7 @@ GtkWidget *new_combo_entry_in_frame(GtkWidget *box, const char *label) GtkWidget *entry, *frame; frame = gtk_frame_new(label); - entry = gtk_combo_box_new_text(); + entry = gtk_combo_box_text_new(); gtk_box_pack_start(GTK_BOX(box), frame, TRUE, TRUE, 3); gtk_container_add(GTK_CONTAINER(frame), entry); @@ -22,13 +23,38 @@ GtkWidget *new_info_entry_in_frame(GtkWidget *box, const char *label) frame = gtk_frame_new(label); entry = gtk_entry_new(); - gtk_entry_set_editable(GTK_ENTRY(entry), 0); + gtk_editable_set_editable(GTK_EDITABLE(entry), 0); gtk_box_pack_start(GTK_BOX(box), frame, TRUE, TRUE, 3); gtk_container_add(GTK_CONTAINER(frame), entry); return entry; } +static void fill_color_from_rgb(GdkColor *c, gfloat r, gfloat g, gfloat b) +{ + gint R, G, B; + gchar tmp[8]; + + memset(c, 0, sizeof(*c)); + R = r * 255; + G = g * 255; + B = b * 255; + snprintf(tmp, sizeof(tmp), "#%02x%02x%02x", R, G, B); + gdk_color_parse(tmp, c); +} + +GtkWidget *new_info_entry_in_frame_rgb(GtkWidget *box, const char *label, + gfloat r, gfloat g, gfloat b) +{ + GtkWidget *entry; + GdkColor c; + + entry = new_info_entry_in_frame(box, label); + fill_color_from_rgb(&c, r, g, b); + gtk_widget_modify_text(entry, GTK_STATE_NORMAL, &c); + return entry; +} + GtkWidget *new_info_label_in_frame(GtkWidget *box, const char *label) { GtkWidget *label_widget; @@ -95,8 +121,9 @@ GtkTreeViewColumn *tree_view_column(GtkWidget *tree_view, int index, const char gtk_tree_view_column_set_sort_column_id(col, index); gtk_tree_view_column_set_resizable(col, TRUE); gtk_tree_view_column_pack_start(col, renderer, TRUE); + gtk_tree_view_column_set_expand(col, TRUE); gtk_tree_view_column_add_attribute(col, renderer, "text", index); - gtk_object_set(GTK_OBJECT(renderer), "alignment", align, NULL); + g_object_set(G_OBJECT(renderer), "alignment", align, NULL); switch (align) { case PANGO_ALIGN_LEFT: xalign = 0.0; @@ -161,3 +188,14 @@ void multitext_free(struct multitext_widget *mt) mt->cur_text = -1; mt->max_text = 0; } + +GtkWidget *get_scrolled_window(gint border_width) +{ + GtkWidget *scroll; + + scroll = gtk_scrolled_window_new(NULL, NULL); + gtk_container_set_border_width(GTK_CONTAINER(scroll), border_width); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + + return scroll; +}