diff options
Diffstat (limited to 'shell')
| -rw-r--r-- | shell/loadgraph-uber.c | 52 | ||||
| -rwxr-xr-x | shell/loadgraph.c | 9 | 
2 files changed, 46 insertions, 15 deletions
| diff --git a/shell/loadgraph-uber.c b/shell/loadgraph-uber.c index d05fc7ee..61964b37 100644 --- a/shell/loadgraph-uber.c +++ b/shell/loadgraph-uber.c @@ -8,9 +8,22 @@  #include "loadgraph.h"  #include "uber.h" +#define LG_MAX_LINES 9 + +static const gchar *default_colors[] = { "#73d216", +                                         "#f57900", +     /*colors from simple.c sample */    "#3465a4", +                                         "#ef2929", +                                         "#75507b", +                                         "#ce5c00", +                                         "#c17d11", +                                         "#ce5c00", +                                         "#729fcf", +                                         NULL }; +  struct _LoadGraph {      GtkWidget *uber_widget; -    gdouble cur_value; +    gdouble cur_value[LG_MAX_LINES];      gint height;  }; @@ -20,28 +33,28 @@ _sample_func (UberLineGraph *graph,                   gpointer   user_data)  {      LoadGraph *lg = (LoadGraph *)user_data; -        return lg->cur_value; +    return lg->cur_value[line-1];  }  LoadGraph *load_graph_new(gint size)  {      LoadGraph *lg;      GdkRGBA color; +    int i = 0;      lg = g_new0(LoadGraph, 1); - -    lg->height = (size+1) * 2; /* idk */ -    lg->cur_value = 0.0;      lg->uber_widget = uber_line_graph_new(); - +    lg->height = (size+1) * 2; /* idk */ +    for (i = 0; i < LG_MAX_LINES; i++) { +        lg->cur_value[i] = UBER_LINE_GRAPH_NO_VALUE; +        //GtkWidget *label = uber_label_new(); +        //uber_label_set_text(UBER_LABEL(label), "BLAH!"); +        gdk_rgba_parse(&color, default_colors[i]); +        uber_line_graph_add_line(UBER_LINE_GRAPH(lg->uber_widget), &color, NULL); /* UBER_LABEL(label) */ +    }      uber_line_graph_set_autoscale(UBER_LINE_GRAPH(lg->uber_widget), TRUE); -    GtkWidget *label = uber_label_new(); -    uber_label_set_text(UBER_LABEL(label), "BLAH!"); -    gdk_rgba_parse(&color, "#729fcf"); -    uber_line_graph_add_line(UBER_LINE_GRAPH(lg->uber_widget), &color, UBER_LABEL(label));      uber_line_graph_set_data_func(UBER_LINE_GRAPH(lg->uber_widget),                  (UberLineGraphFunc)_sample_func, (gpointer *)lg, NULL); -      return lg;  } @@ -64,7 +77,13 @@ GtkWidget *load_graph_get_framed(LoadGraph * lg)  void load_graph_clear(LoadGraph * lg)  { - +    int i; +    if (lg != NULL) { +        for (i = 0; i < LG_MAX_LINES; i++) { +            lg->cur_value[i] = UBER_LINE_GRAPH_NO_VALUE; +        } +        uber_graph_scale_changed(lg->uber_widget); +    }  }  void load_graph_set_color(LoadGraph * lg, LoadGraphColor color) @@ -90,10 +109,15 @@ void load_graph_configure_expose(LoadGraph * lg)  } +void load_graph_update_ex(LoadGraph *lg, guint line, gdouble value) +{ +    if (lg != NULL && line < LG_MAX_LINES) +        lg->cur_value[line] = value; +} +  void load_graph_update(LoadGraph * lg, gdouble value)  { -    if (lg != NULL) -        lg->cur_value = value; +    load_graph_update_ex(lg, 0, value);  }  gint load_graph_get_height(LoadGraph *lg) { diff --git a/shell/loadgraph.c b/shell/loadgraph.c index 581203f1..6dd1c3c8 100755 --- a/shell/loadgraph.c +++ b/shell/loadgraph.c @@ -352,7 +352,14 @@ static void _draw(LoadGraph * lg)      gtk_widget_queue_draw(lg->area);  } -void load_graph_update(LoadGraph * lg, gdouble v) +void load_graph_update_ex(LoadGraph *lg, guint line, gdouble value) +{ +    /* not implemented */ +    if (line == 0) +        load_graph_update(lg, value); +} + +void load_graph_update(LoadGraph *lg, gdouble v)  {      gint i;      gint value = (gint)v; | 
