Ver Mensaje Individual
  #5 (permalink)  
Antiguo 09/12/2002, 15:06
Avatar de epplestun
epplestun
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 23 años, 6 meses
Puntos: 5
weno te pongo aki el code para k los demas tabien lo usen y a parte te lo envio :)
main.c <- este es el programa
Código:
/*
 * Archivo: main.c
 * Autor: Ivan Rodriguez
 *
 * Ejemplo de ilustracion de widget personalizado
 */

#include <gtk/gtk.h>
#include "gtkgraph.c";

/*
 * CloseAppWindow
 *
 * La ventana se esta cerrando. Hace falta apagar GTK+.
 */
gint CloseAppWindow (GtkWidget *widget, gpointer *data)
{
	gtk_main_quit ();
	return (FALSE);
}

/*
 * main - El programa comienza aqui.
 */
int main (int argc, char *argv[])
{
	GtkWidget *window;
	GtkWidget *graph;
	
	/* Inicializacion de GTK+ */
	gtk_init (&argc, &argv);
	
	/* Crear la ventana de nivel supeior */
	window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
	gtk_window_set_title (GTK_WINDOW (window), "Bar Graph");
	
	/* Acuerdese siempre de conectar el suceso delete con la ventana principal */
	gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (CloseAppWindow), NULL);
	
	/* Especificar borde de la ventana */
	gtk_container_border_width (GTK_CONTAINER (window), 20);
	
	/*
	 * Crear una grafica
	 */
	graph = gtk_graph_new ();
	
	/* Mostrar la grafica */
	gtk_widget_show (graph);
	
	/* Establecer numero de elementos de la grafica */
	gtk_graph_size (GTK_GRAPH (graph), 5);
	
	/* Establecer altura de cada elemento de la grafica */
	gtk_graph_set_value (GTK_GRAPH (graph), 0, 25);
	gtk_graph_set_value (GTK_GRAPH (graph), 1, 25);
	gtk_graph_set_value (GTK_GRAPH (graph), 2, 25);
	gtk_graph_set_value (GTK_GRAPH (graph), 3, 25);
	gtk_graph_set_value (GTK_GRAPH (graph), 4, 25);
	gtk_widget_draw (graph, NULL);
	
	/*
	 * Hacer visible la ventana principal
	 */
	gtk_container_add(GTK_CONTAINER (window), graph);
	gtk_widget_show(window);
	gtk_main();
	exit(0);
}
gtkgraph.h <- esta es la libreria .h
Código:
/*
 * Archivo : gtkgraph.h
 * Autor   : Ivan Rodriguez
 */
#ifndef __GTK_GRAPH_H__
#define __GTK_GRAPH_H__

#include <gdk/gdk.h>
#include <gtk/gtkvbox.h>

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus  */
	
/*
 * Macros para conversion y comprobacion de tipos
 */
#define GTK_GRAPH(obj)  GTK_CHECK_CAST (obj, gtk_graph_get_type (), GtkGraph)
#define GTK_GRAPH_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_graph_get_type, GtkGraphClass)
#define GTK_IS_GRAPH(obj) GTK_CHECK_TYPE (obj, gtk_graph_get_type ())
	
/*
 * Definicion de estructura de datos
 */

typedef struct _GtkGraph      GtkGraph;
typedef struct _GtkGraphClass GtkGraphClass;

/*
 * Aqui estan los datos de la grafica
 */
struct _GtkGraph
{
	GtkWidget vbox;
	gint *values;
	gint num_values;
};

/*
 * Aqui estan los datos de la clase
 */
struct _GtkGraphClass
{
	GtkWidgetClass parent_class;
};

/*
 * Prototipos de funciones
 */
GtkWidget* gtk_graph_new (void);
void gtk_graph_size (GtkGraph *graph, int size);
void gtk_graph_set_value (GtkGraph *graph, int index, int value);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* __GTK_GRAPH_H__ */
gtkgraph.c <- esto la libreria .c
Sigo en otro mensaje...
__________________
Usuario registrado de Linux #288725