| MGtk Reference Manual | ||||
|---|---|---|---|---|
| | Description | ||||
Example 3Example 3 — From Gtk to MGtk |
Example 9. Example Gtk 2.20.1
#include <gtk/gtk.h>
static void callback( GtkWidget *widget,
gpointer data )
{
g_print ("Hello again - %s was pressed\n", (gchar *) data);
}
static gboolean delete_event( GtkWidget *widget,
GdkEvent *event,
gpointer data )
{
gtk_main_quit ();
return FALSE;
}
int main( int argc,
char *argv[] )
{
GtkWidget *window;
GtkWidget *button;
GtkWidget *box1;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Hello Buttons!");
g_signal_connect (window, "delete-event",
G_CALLBACK (delete_event), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
box1 = gtk_hbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
button = gtk_button_new_with_label ("Button 1");
g_signal_connect (button, "clicked",
G_CALLBACK (callback), (gpointer) "button 1");
gtk_box_pack_start (GTK_BOX(box1), button, TRUE, TRUE, 0);
gtk_widget_show (button);
button = gtk_button_new_with_label ("Button 2");
g_signal_connect (button, "clicked",
G_CALLBACK (callback), (gpointer) "button 2");
gtk_box_pack_start(GTK_BOX (box1), button, TRUE, TRUE, 0);
gtk_widget_show (button);
gtk_widget_show (box1);
gtk_widget_show (window);
gtk_main ();
return 0;
}
Example 10. Example MGtk 0.0.1
#include <gtk/gtk.h>
#include <mlib.h>
#include <mgtk.h>
static
void
callback ( GtkWidget* widget,
gpointer _data )
{
mchars data = (mchars)_data;
g_print ("Hello again - %s was pressed\n", data);
return;
m_warning_disable_var ( widget );
}
static
gboolean
delete_event ( GtkWidget* widget,
GdkEvent* event,
gpointer data )
{
gtk_main_quit ();
return FALSE;
m_warning_disable_var ( widget );
m_warning_disable_var ( event );
m_warning_disable_var ( data );
}
int
mgtk_main ( argc, argv )
{
mgtk_main_init ( argc, argv );
MId window = MNOID;
MId box1 = MNOID;
MId button1 = MNOID;
MId button2 = MNOID;
window = mgtk_window_insert ( GTK_WINDOW_TOPLEVEL, "Hello Buttons!" );
box1 = mgtk_hbox_insert ( HOMOGENEOUS_OFF, SPACING_OFF );
button1 = mgtk_button_insert ( "Button 1" );
button2 = mgtk_button_insert ( "Button 2" );
gtk_container_set_border_width (GTK_CONTAINER ( MGTK_WINDOW_(window) ), 10);
m_signal_connect ( "delete-event",
MGTK_WINDOW_(window),
G_CALLBACK (delete_event),
NULL );
m_signal_connect ( "clicked",
MGTK_BUTTON_(button1),
G_CALLBACK (callback),
"button 1" );
m_signal_connect ( "clicked",
MGTK_BUTTON_(button2),
G_CALLBACK (callback),
"button 2" );
gtk_container_add ( GTK_CONTAINER ( MGTK_WINDOW_(window) ), MGTK_HBOX_(box1) );
gtk_box_pack_start ( GTK_BOX( MGTK_HBOX_(box1) ),
MGTK_BUTTON_(button1),
EXPAND_ON,
FILL_ON,
PADDING_OFF );
gtk_box_pack_start ( GTK_BOX( MGTK_HBOX_(box1) ),
MGTK_BUTTON_(button2),
EXPAND_ON,
FILL_ON,
PADDING_OFF );
gtk_widget_show ( MGTK_BUTTON_(button1) );
gtk_widget_show ( MGTK_BUTTON_(button2) );
gtk_widget_show ( MGTK_HBOX_(box1) );
gtk_widget_show ( MGTK_WINDOW_(window) );
gtk_main ();
return 0;
}