/* HomeBank -- Free, easy, personal accounting for everyone.
- * Copyright (C) 1995-2014 Maxime DOYEN
+ * Copyright (C) 1995-2016 Maxime DOYEN
*
* This file is part of HomeBank.
*
#ifndef __GTK_CHART_H__
#define __GTK_CHART_H__
-#include <glib.h>
-#include <gdk/gdk.h>
-#include <gtk/gtk.h>
-#include <cairo.h>
-#include <math.h>
+#include "gtk-chart-colors.h"
G_BEGIN_DECLS
#define GTK_TYPE_CHART (gtk_chart_get_type ())
/* default zoomx for charts */
#define GTK_CHART_BARW 24
-#define GTK_CHART_MINBARW 8
-#define GTK_CHART_MAXBARW 64
+
+#define GTK_CHART_MINBARW 4
+#define GTK_CHART_MAXBARW 128
+
#define GTK_CHART_MINRADIUS 64
enum
{
+ CHART_TYPE_NONE,
CHART_TYPE_COL,
CHART_TYPE_PIE,
CHART_TYPE_LINE,
gdouble serie2;
gdouble rate;
- /* cairo part */
+ /* draw stuffs */
gchar *legend;
double angle2; /* rate for pie */
double height; /* for column */
/* all below should be in priv normally */
- GtkHBox hbox;
+ GtkBox hbox;
GtkWidget *drawarea;
GtkAdjustment *adjustment;
gboolean abs;
gboolean show_over;
gboolean show_xval;
+ gboolean show_mono;
gint every_xval;
- //guint32 kcur;
+ guint32 kcur;
gboolean minor;
gdouble minor_rate;
gchar *minor_symbol;
/* color datas */
- struct rgbcol *colors;
- gint nb_cols;
- gint cs_red, cs_green, cs_blue, cs_yellow;
+ GtkColorScheme color_scheme;
+
+ /* cairo default value */
+ PangoFontDescription *pfd;
+ gint pfd_size;
/* buffer surface */
cairo_surface_t *surface;
/* draw area coordinates */
double l, t, b, r, w, h;
/* our drawing rectangle with margin */
+ double label_w;
double legend_w;
/* zones height */
struct _GtkChartClass
{
- GtkHBoxClass parent_class;
+ GtkBoxClass parent_class;
/* Padding for future expansion */
void (*_gtk_reserved1) (void);
void gtk_chart_queue_redraw(GtkChart *chart);
-void gtk_chart_set_datas(GtkChart *chart, GtkTreeModel *model, guint column, gchar *title);
-void gtk_chart_set_dualdatas(GtkChart *chart, GtkTreeModel *model, guint column1, guint column2, gchar *title);
+void gtk_chart_set_datas(GtkChart *chart, GtkTreeModel *model, guint column, gchar *title, gchar *subtitle);
+void gtk_chart_set_dualdatas(GtkChart *chart, GtkTreeModel *model, guint column1, guint column2, gchar *title, gchar *subtitle);
void gtk_chart_set_minor_prefs(GtkChart * chart, gdouble rate, gchar *symbol);
-//void gtk_chart_set_currency(GtkChart * chart, guint32 kcur);
+void gtk_chart_set_currency(GtkChart * chart, guint32 kcur);
void gtk_chart_set_overdrawn(GtkChart * chart, gdouble minimum);
void gtk_chart_set_every_xval(GtkChart * chart, gint decay);
void gtk_chart_set_barw(GtkChart * chart, gdouble barw);
+void gtk_chart_set_showmono(GtkChart * chart, gboolean mono);
void gtk_chart_show_legend(GtkChart * chart, gboolean visible, gboolean showextracol);
void gtk_chart_show_overdrawn(GtkChart * chart, gboolean visible);