
09/12/2002, 15:06
|
 | | | 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 |