Changeset 1771


Ignore:
Timestamp:
04/15/07 19:04:45 (6 years ago)
Author:
mickey
Message:

openmoko-gsmd-demo: relayout buttons

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/target/OM-2007/examples/openmoko-gsmd-demo/src/demo-main.c

    r1732 r1771  
    2727#include <gtk/gtkalignment.h> 
    2828#include <gtk/gtkbutton.h> 
    29 #include <gtk/gtkhbox.h> 
     29#include <gtk/gtktable.h> 
    3030#include <gtk/gtklabel.h> 
    3131#include <gtk/gtkmain.h> 
     
    4343static GtkLabel* status; 
    4444 
    45 void cb_orange_button_clicked( GtkButton* button, MokoFingerWindow* window ) 
     45void cb_poweron_clicked( GtkButton* button, MokoFingerWindow* window ) 
    4646{ 
    47     g_debug( "openmoko-gsmd-demo: orange button clicked" ); 
     47    moko_gsmd_connection_set_antenna_power( gsm, TRUE ); 
    4848} 
    4949 
    50 void cb_dialer_button_clicked( GtkButton* button, MokoFingerWindow* window ) 
     50void cb_register_clicked( GtkButton* button, MokoFingerWindow* window ) 
    5151{ 
    52     g_debug( "openmoko-gsmd-demo: dialer button clicked" ); 
     52    moko_gsmd_connection_network_register( gsm ); 
    5353} 
    5454 
    55 void cb_black_button_clicked( GtkButton* button, MokoFingerWindow* window ) 
     55void cb_poweroff_clicked( GtkButton* button, MokoFingerWindow* window ) 
    5656{ 
    57     g_debug( "openmoko-gsmd-demo: black button clicked" ); 
     57    moko_gsmd_connection_set_antenna_power( gsm, FALSE ); 
     58} 
     59 
     60void 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 
     66void 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    } 
    5886} 
    5987 
     
    81109    g_signal_connect( G_OBJECT(window), "delete_event", G_CALLBACK(gtk_main_quit), NULL ); 
    82110 
     111    GtkLabel* label0 = gtk_label_new( "<big>A Vanille Media Production</big>" ); 
     112    gtk_label_set_use_markup( label0, TRUE ); 
     113 
    83114    /* 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>" ); 
    86117    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..." ); 
    90120 
    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 ); 
    95122 
    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 ); 
    102126 
    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 ); 
    107130 
     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 ); 
    108136    gtk_box_pack_start( vbox, GTK_WIDGET(network), FALSE, FALSE, 0 ); 
    109137    gtk_box_pack_start( vbox, GTK_WIDGET(signal), FALSE, FALSE, 0 ); 
    110138    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 ); 
    112140    gtk_box_pack_start( vbox, GTK_WIDGET(label2), FALSE, FALSE, 0 ); 
    113141 
     
    115143 
    116144    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 ); 
    117148 
    118149    /* show everything and run main loop */ 
     
    122153    g_debug( "openmoko-gsmd-demo left main loop" ); 
    123154 
     155    g_object_unref( G_OBJECT(gsm) ); 
     156 
    124157    return 0; 
    125158} 
Note: See TracChangeset for help on using the changeset viewer.