GtkPlot Structures

Why are these useful?
Because the gtk-sheet functions do not cover everything and sometimes you need to modify
structure elements by yourself.


struct _GtkPlot
       GtkWidget widget;
       GdkDrawable *drawable;
       GdkPixmap *bg_pixmap;
       gboolean use_pixmap;
       gboolean transparent;
       gdouble magnification;
       gboolean clip_data;
       GdkColor background;
       gboolean grids_on_top;
       gboolean show_x0;
       gboolean show_y0;
       /* location and size in percentage of the widget's size */
       gdouble x, y, width, height;
       gdouble xmin, xmax;
       gdouble ymin, ymax;
       GtkPlotScale xscale, yscale;
       GtkPlotAxis *bottom; 
       GtkPlotAxis *top; 
       GtkPlotAxis *left; 
       GtkPlotAxis *right; 
       gfloat bottom_align;
       gfloat top_align;
       gfloat left_align;
       gfloat right_align;
       GtkPlotLine x0_line;
       GtkPlotLine y0_line;
       gdouble legends_x, legends_y; /* position in % */
       gint legends_width, legends_height; /* absolute size */
       GtkPlotBorderStyle legends_border;
       gint legends_line_width; 
       gint legends_border_width;
       gint legends_shadow_width;
       gboolean show_legends;
       GtkPlotText legends_attr;
       GtkPlotData *active_data;
       GList *data_sets;
       GList *text;
     
struct _GtkPlotAxis
  GtkObject object;
gboolean is_visible;
GtkPlotVector origin;
GtkPlotVector direction;
GtkPlotText title;
gboolean title_visible;
GtkPlotTicks ticks;
GtkPlotOrientation orientation;

GtkPlotScale scale;
GtkPlotLine line;
GtkPlotLine major_grid;
GtkPlotLine minor_grid;
gdouble min;
gdouble max;
gint major_mask;
gint minor_mask;
gint ticks_length;
gfloat ticks_width;
gboolean custom_labels;
gint labels_offset;
gchar *labels_prefix;
gchar *labels_suffix;
gboolean show_major_grid;
gboolean show_minor_grid;
GtkPlotText labels_attr;
gint label_precision;
gint label_style;
gint label_mask;
struct _GtkPlotText
  gdouble x, y;
gint angle; /* 0, 90, 180, 270 */
GdkColor fg;
GdkColor bg;

gboolean transparent;

GtkPlotBorderStyle border;
gint border_width;
gint shadow_width;
gint border_space;
gchar *font;
gint height;
gchar *text;
GtkJustification justification;
struct _GtkPlotLine
 GtkPlotLineStyle line_style;
gfloat line_width;
GdkColor color;
struct _GtkPlotSymbol
  GtkPlotSymbolType symbol_type;
GtkPlotSymbolStyle symbol_style;
gint size;
GdkColor color;
GtkPlotLine border;
struct _GtkPlotTicks
  gint nmajorticks;             /* Number of major ticks drawn */
gint nminorticks; /* Number of minor ticks drawn */
gdouble step; /* major ticks step */
gint nminor; /* number of minor ticks between major ticks */
gint *major; /* major ticks points */
gint *minor; /* minor ticks points */
gdouble *major_values; /* major ticks values */
gdouble *minor_values; /* minor ticks values */
gboolean set_limits;
gdouble begin, end;
struct _GtkPlotVector
  gdouble x, y, z; 
struct _GtkPlotMarker
  GtkPlotData *data;
gint point;
 
 

 

Signals


GtkPlot Signals

The "add_data" signal

gboolean (* add_data) (GtkPlot *plot, GtkPlotData *data); 

 

plot  
data  


The "update" signal

void (* update) (GtkPlot *plot, gboolean new_range); 

 

plot  
new_range  


The "changed" signal

void (* changed) (GtkPlot *plot); 

 

plot  


The "moved" signal

gboolean (* moved) (GtkPlot *plot, 
                    gdouble x, gdouble y); 

 

plot  
x,y  


The "resized" signal

gboolean (* resized) (GtkPlot *plot,
                      gdouble width, gdouble height);
     

 

plot  
width,height  


The "plot_paint" signal

void (* plot_paint) (GtkWidget *plot); 

 

plot  


The "draw_legends" signal

void (* draw_legends) (GtkWidget *plot); 

 

plot  


The "get_pixel" signal

void (* get_pixel) (GtkWidget *plot, 
                    gdouble x, gdouble y,
                    gdouble *px, gdouble *py); 

 

plot  
x,y  
*px,*py  

The "get_point" signal

void (* get_point) (GtkWidget *plot, 
                    gint px, gint py,
                    gdouble *x, gdouble *y); 

 

plot  
*x,*y  
px,py  



GtkPlotData Signals


The "add_to_plot" signal

gboolean (* add_to_plot) (GtkPlotData *data, GtkPlot *plot); 

 

plot  
data  


The "update" signal

void (* update) (GtkPlotData *data, gboolean new_range); 

 

plot  
new_range  


The "draw_data" signal

void (* draw_data) (GtkPlotData *data); 

 

data  


The "draw_symbol" signal

void (* draw_symbol) (GtkPlotData *data, 
                      gdouble x, 
                      gdouble y, 
                      gdouble z,
                      gdouble a,
                      gdouble dx, 
                      gdouble dy, 
                      gdouble dz,
                      gdouble da); 

 

data  
x,y,x  
dx,dy,dz  
a  
da  


The "draw_legend" signal

void (* draw_legend) (GtkPlotData *data, gint x, gint y); 

 

data  
x,y  

The "get_legend_size" signal

void (* get_legend_size) (GtkPlotData *data, 
                          gint *width, gint *height); 

 

data  
*width,*height  



GtkPlotAxis Signals


The "tick_label" signal

gboolean (* tick_label) (GtkPlotAxis *axis, 
                         gdouble *tick,
                         gchar *label); 

 

axis  
tick  
label