Changeset 1771
- Timestamp:
- 04/15/07 19:04:45 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/target/OM-2007/examples/openmoko-gsmd-demo/src/demo-main.c
r1732 r1771 27 27 #include <gtk/gtkalignment.h> 28 28 #include <gtk/gtkbutton.h> 29 #include <gtk/gtk hbox.h>29 #include <gtk/gtktable.h> 30 30 #include <gtk/gtklabel.h> 31 31 #include <gtk/gtkmain.h> … … 43 43 static GtkLabel* status; 44 44 45 void cb_ orange_button_clicked( GtkButton* button, MokoFingerWindow* window )45 void cb_poweron_clicked( GtkButton* button, MokoFingerWindow* window ) 46 46 { 47 g_debug( "openmoko-gsmd-demo: orange button clicked");47 moko_gsmd_connection_set_antenna_power( gsm, TRUE ); 48 48 } 49 49 50 void cb_ dialer_button_clicked( GtkButton* button, MokoFingerWindow* window )50 void cb_register_clicked( GtkButton* button, MokoFingerWindow* window ) 51 51 { 52 g_debug( "openmoko-gsmd-demo: dialer button clicked");52 moko_gsmd_connection_network_register( gsm ); 53 53 } 54 54 55 void cb_ black_button_clicked( GtkButton* button, MokoFingerWindow* window )55 void cb_poweroff_clicked( GtkButton* button, MokoFingerWindow* window ) 56 56 { 57 g_debug( "openmoko-gsmd-demo: black button clicked" ); 57 moko_gsmd_connection_set_antenna_power( gsm, FALSE ); 58 } 59 60 void cb_signal_strength_changed( MokoGsmdConnection* connection, int value, gpointer user_data ) 61 { 62 g_debug( "openmoko-gsmd-demo: signal strength changed" ); 63 gtk_label_set_text( signal, g_strdup_printf( "Signal Strength: %d", value ) ); 64 } 65 66 void cb_network_registration( MokoGsmdConnection* connection, int type, int lac, int cell ) 67 { 68 g_debug( "openmoko-gsmd-demo: network registration" ); 69 if ( type == 0 ) 70 gtk_label_set_text( status, "Not Searching..." ); 71 else 72 if ( type == 2 ) 73 gtk_label_set_text( status, "Searching..." ); 74 else if ( type == 3 ) 75 gtk_label_set_text( status, "Denied! :(" ); 76 else if ( type == 1 ) 77 { 78 gtk_label_set_text( status, "Registered (Home)" ); 79 gtk_label_set_text( network, g_strdup_printf( "LocationAreaCode: 0x%04X\nCellID: 0x%04X", lac, cell ) ); 80 } 81 else if ( type == 5 ) 82 { 83 gtk_label_set_text( status, "Registered (Roaming)" ); 84 gtk_label_set_text( network, g_strdup_printf( "LocationAreaCode: 0x%04X\nCellID: 0x%04X", lac, cell ) ); 85 } 58 86 } 59 87 … … 81 109 g_signal_connect( G_OBJECT(window), "delete_event", G_CALLBACK(gtk_main_quit), NULL ); 82 110 111 GtkLabel* label0 = gtk_label_new( "<big>A Vanille Media Production</big>" ); 112 gtk_label_set_use_markup( label0, TRUE ); 113 83 114 /* contents */ 84 vbox = gtk_vbox_new( TRUE,0 );85 network = gtk_label_new( "< not yet registered>" );115 vbox = gtk_vbox_new( FALSE, 10 ); 116 network = gtk_label_new( "<unknown>" ); 86 117 signal = gtk_label_new( "<signal strength>" ); 87 status = gtk_label_new( "<unnown>" ); 88 GtkLabel* label2 = gtk_label_new( "Orange button powers on, \nDialer button registeres,\nBlack button powers off\n \n \n" ); 89 GtkHBox* hbox = gtk_hbox_new( TRUE, 0 ); 118 status = gtk_label_new( "Idle" ); 119 GtkLabel* label2 = gtk_label_new( "Press buttons to experiment..." ); 90 120 91 GtkButton* button1 = gtk_button_new(); 92 g_signal_connect( G_OBJECT(button1), "clicked", G_CALLBACK(cb_orange_button_clicked), window ); 93 gtk_widget_set_name( GTK_WIDGET(button1), "mokofingerbutton-orange" ); 94 gtk_box_pack_start( GTK_BOX(hbox), GTK_WIDGET(button1), TRUE, TRUE, 5 ); 121 GtkTable* table = gtk_table_new( 4, 3, TRUE ); 95 122 96 GtkButton* button2 = gtk_button_new(); 97 //FIXME toggle buttons look odd... needs working on styling 98 //gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button2), TRUE); 99 g_signal_connect( G_OBJECT(button2), "clicked", G_CALLBACK(cb_dialer_button_clicked), window ); 100 gtk_widget_set_name( GTK_WIDGET(button2), "mokofingerbutton-dialer" ); 101 gtk_box_pack_start( GTK_BOX(hbox), GTK_WIDGET(button2), TRUE, TRUE, 5 ); 123 GtkButton* button1 = gtk_button_new_with_label( "Power-On" ); 124 g_signal_connect( G_OBJECT(button1), "clicked", G_CALLBACK(cb_poweron_clicked), window ); 125 gtk_table_attach_defaults( GTK_BOX(table), GTK_WIDGET(button1), 0, 1, 0, 1 ); 102 126 103 GtkButton* button3 = gtk_button_new(); 104 g_signal_connect( G_OBJECT(button3), "clicked", G_CALLBACK(cb_black_button_clicked), window ); 105 gtk_widget_set_name( GTK_WIDGET(button3), "mokofingerbutton-black" ); 106 gtk_box_pack_start( GTK_BOX(hbox), GTK_WIDGET(button3), TRUE, TRUE, 5 ); 127 GtkButton* button2 = gtk_button_new_with_label( "Register" ); 128 g_signal_connect( G_OBJECT(button2), "clicked", G_CALLBACK(cb_register_clicked), window ); 129 gtk_table_attach_defaults( GTK_BOX(table), GTK_WIDGET(button2), 1, 2, 0, 1 ); 107 130 131 GtkButton* button3 = gtk_button_new_with_label( "Power-Off" ); 132 g_signal_connect( G_OBJECT(button3), "clicked", G_CALLBACK(cb_poweroff_clicked), window ); 133 gtk_table_attach_defaults( GTK_BOX(table), GTK_WIDGET(button3), 2, 3, 0, 1 ); 134 135 gtk_box_pack_start( vbox, GTK_WIDGET(label0), FALSE, FALSE, 0 ); 108 136 gtk_box_pack_start( vbox, GTK_WIDGET(network), FALSE, FALSE, 0 ); 109 137 gtk_box_pack_start( vbox, GTK_WIDGET(signal), FALSE, FALSE, 0 ); 110 138 gtk_box_pack_start( vbox, GTK_WIDGET(status), FALSE, FALSE, 0 ); 111 gtk_box_pack_start( vbox, GTK_WIDGET( hbox), TRUE, TRUE, 0 );139 gtk_box_pack_start( vbox, GTK_WIDGET(table), TRUE, TRUE, 0 ); 112 140 gtk_box_pack_start( vbox, GTK_WIDGET(label2), FALSE, FALSE, 0 ); 113 141 … … 115 143 116 144 gsm = moko_gsmd_connection_new(); 145 146 g_signal_connect( G_OBJECT(gsm), "signal-strength-changed", G_CALLBACK(cb_signal_strength_changed), NULL ); 147 g_signal_connect( G_OBJECT(gsm), "network-registration", G_CALLBACK(cb_network_registration), NULL ); 117 148 118 149 /* show everything and run main loop */ … … 122 153 g_debug( "openmoko-gsmd-demo left main loop" ); 123 154 155 g_object_unref( G_OBJECT(gsm) ); 156 124 157 return 0; 125 158 }
Note: See TracChangeset
for help on using the changeset viewer.
