/* $Id: demo.c,v 1.1 2001/10/08 04:17:29 trow Exp $ */
/*
* demo.c
*
* Copyright (C) 2000 EMC Capital Management, Inc.
*
* Developed by Jon Trowbridge <trow@gnu.org>.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*/
/* #include <gnome.h> */
#include <libgnome/gnome-defs.h>
#include <libgnome/gnome-config.h>
#include <libgnomeui/gnome-init.h>
#include <guppi-memory.h>
#include <guppi-debug.h>
#include "guppi-tank.h"
const gint rows = 5, cols = 2;
const double data[] = { 1, 2, 3, 4, 5,
3, 4, 7, 3, 1
};
const gchar *row_labels[] = { "One", "Two", "Three", "Four", "Five" };
const gchar *col_labels[] = { "Dogs", "Cats" };
const gchar *col_colors[] = { "red", "blue" };
static void
bar_click_cb (gint r, gint c, gpointer user_data)
{
g_message ("Clicked on bar corresponding to row %d, column %d", r, c);
}
static void
legend_click_cb (gint c, gpointer user_data)
{
g_message ("Clicked on legend box corresponding to column %d", c);
}
static void
delete_event_cb (GtkWidget *w, GdkEvent *ev, gpointer foo)
{
gtk_widget_destroy (w);
guppi_tank_exit ();
}
int
main (gint argc, gchar * argv[])
{
gint i;
GuppiObject *title_obj;
GuppiObject *pie_obj;
GtkWidget *win;
GtkWidget *swin;
GtkWidget *vbox;
GtkWidget *w;
gnome_init ("silly_demo", "0.0", argc, argv);
guppi_tank_init ();
guppi_set_verbosity (GUPPI_VERY_VERBOSE);
win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_set_usize (win, 400, 300);
swin = gtk_scrolled_window_new (NULL, NULL);
gtk_container_add (GTK_CONTAINER (win), swin);
vbox = gtk_vbox_new (FALSE, 3);
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (swin), vbox);
for (i=0; i<2; ++i)
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("foo"),
FALSE, FALSE, 1);
pie_obj = guppi_object_new ("barchart",
4 * 72, 3 * 72,
"data_rows", rows,
"data_columns", cols,
"data", data,
"y_axis_label", "Something here",
"x_axis_label", "Some number",
"rotate_y_axis_labels", FALSE,
"row_labels", row_labels,
"column_labels", col_labels,
"column_colors", col_colors,
"bar_callback1", bar_click_cb,
"legend_callback1", legend_click_cb, NULL);
title_obj = guppi_object_new ("title",
4 * 72, 3 * 72,
"title", "Pet Behavior Study",
"subtitle",
"This is an example of a subtitle",
"subobject", pie_obj, NULL);
w = guppi_object_build_widget (title_obj);
guppi_unref (title_obj);
gtk_box_pack_start (GTK_BOX (vbox), w, FALSE, FALSE, 1);
gtk_widget_set_usize (w, 400, 300);
gtk_widget_show (w);
gtk_widget_show_all (win);
gtk_signal_connect (GTK_OBJECT (win),
"delete_event",
GTK_SIGNAL_FUNC (delete_event_cb),
NULL);
gtk_main ();
return 0;
}
/* $Id: demo.c,v 1.1 2001/10/08 04:17:29 trow Exp $ */
syntax highlighted by Code2HTML, v. 0.9.1