| MGtk Reference Manual | ||||
|---|---|---|---|---|
| | Description | ||||
Example 5Example 5 — From Gtk to MGtk |
Example 14. Example Gtk 2.20.1
#include <gtk/gtk.h>
static void callback( GtkWidget *widget,
gpointer data )
{
g_print ("Hello again - %s was pressed\n", (char *) 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 *table;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Table");
g_signal_connect (window, "delete-event",
G_CALLBACK (delete_event), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 20);
table = gtk_table_new (2, 2, TRUE);
gtk_container_add (GTK_CONTAINER (window), table);
button = gtk_button_new_with_label ("button 1");
g_signal_connect (button, "clicked",
G_CALLBACK (callback), (gpointer) "button 1");
gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 1, 0, 1);
gtk_widget_show (button);
button = gtk_button_new_with_label ("button 2");
g_signal_connect (button, "clicked",
G_CALLBACK (callback), (gpointer) "button 2");
gtk_table_attach_defaults (GTK_TABLE (table), button, 1, 2, 0, 1);
gtk_widget_show (button);
button = gtk_button_new_with_label ("Quit");
g_signal_connect (button, "clicked",
G_CALLBACK (delete_event), NULL);
gtk_table_attach_defaults (GTK_TABLE (table), button, 0, 2, 1, 2);
gtk_widget_show (button);
gtk_widget_show (table);
gtk_widget_show (window);
gtk_main ();
return 0;
}
Example 15. Example MGtk 0.0.1
#include <gtk/gtk.h>
#include <mlib.h>
#include <mgtk.h>
static
void callback ( GtkWidget* widget,
mpointer _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,
mpointer 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 button1 = MNOID;
MId button2 = MNOID;
MId button3 = MNOID;
MId table = MNOID;
window = mgtk_window_insert ( GTK_WINDOW_TOPLEVEL, "Table" );
button1 = mgtk_button_insert ( "button 1" );
button2 = mgtk_button_insert ( "button 2" );
button3 = mgtk_button_insert ( "Quit" );
table = mgtk_table_insert ( 2, 2, HOMOGENEOUS_ON );
gtk_container_set_border_width ( GTK_CONTAINER ( MGTK_WINDOW_(window) ), 20 );
m_signal_connect ( "delete-event",
MGTK_WINDOW_(window),
G_CALLBACK (delete_event),
NULL );
m_signal_connect ( "clicked",
MGTK_BUTTON_(button1),
G_CALLBACK (callback),
(gpointer) "button 1" );
m_signal_connect ( "clicked",
MGTK_BUTTON_(button2),
G_CALLBACK (callback),
(gpointer) "button 2" );
m_signal_connect ( "clicked",
MGTK_BUTTON_(button3),
G_CALLBACK (delete_event),
NULL );
gtk_container_add ( GTK_CONTAINER ( MGTK_WINDOW_(window) ), MGTK_TABLE_(table) );
gtk_table_attach_defaults ( GTK_TABLE ( MGTK_TABLE_(table) ),
MGTK_BUTTON_(button1),
0, 1, 0, 1 );
gtk_table_attach_defaults ( GTK_TABLE ( MGTK_TABLE_(table) ),
MGTK_BUTTON_(button2),
1, 2, 0, 1 );
gtk_table_attach_defaults ( GTK_TABLE ( MGTK_TABLE_(table) ),
MGTK_BUTTON_(button3),
0, 2, 1, 2 );
gtk_widget_show ( MGTK_BUTTON_(button1) );
gtk_widget_show ( MGTK_BUTTON_(button2) );
gtk_widget_show ( MGTK_BUTTON_(button3) );
gtk_widget_show ( MGTK_TABLE_(table) );
gtk_widget_show ( MGTK_WINDOW_(window) );
gtk_main ();
return 0;
}