Diff of /trunk/src/misc.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 239 by harbaum, Wed Dec 9 19:45:36 2009 UTC revision 240 by harbaum, Sat Dec 12 20:56:23 2009 UTC
# Line 612  static gint on_lat_picker_button_press(G Line 612  static gint on_lat_picker_button_press(G
612  }  }
613  #endif  #endif
614    
615    /* whatever there is in the entry: if it's illegal make it */
616    #define ILLEGAL_LAT  "X --° --,---'"
617    #define ILLEGAL_LON  "X ---° --,---'"
618    
619    static void pos_lat_check(GtkWidget *widget) {
620      if(isnan(pos_parse_lat((char*)gtk_entry_get_text(GTK_ENTRY(widget))))) {
621    #ifndef COORDINATE_PICKER
622        gtk_entry_set_text(GTK_ENTRY(widget), ILLEGAL_LAT);
623    #else
624        mark(widget, FALSE);
625        gtk_button_set_label(GTK_BUTTON(widget), ILLEGAL_LAT);
626    #endif
627      }
628    }
629    
630    static void pos_lon_check(GtkWidget *widget) {
631      if(isnan(pos_parse_lon((char*)gtk_entry_get_text(GTK_ENTRY(widget))))) {
632    #ifndef COORDINATE_PICKER
633        gtk_entry_set_text(GTK_ENTRY(widget), ILLEGAL_LON);
634    #else
635        mark(widget, FALSE);
636        gtk_button_set_label(GTK_BUTTON(widget), ILLEGAL_LON);
637    #endif
638      }
639    }
640    
641  /* a entry that is colored red when being "active" */  /* a entry that is colored red when being "active" */
642  GtkWidget *lat_entry_new(float lat) {  GtkWidget *lat_entry_new(float lat) {
643    char str[32];    char str[32];
# Line 636  GtkWidget *lat_entry_new(float lat) { Line 662  GtkWidget *lat_entry_new(float lat) {
662                       (GtkSignalFunc)on_lat_picker_button_press, NULL);                       (GtkSignalFunc)on_lat_picker_button_press, NULL);
663  #endif  #endif
664    
665      pos_lat_check(widget);
666    return widget;    return widget;
667  }  }
668    
# Line 754  GtkWidget *lon_entry_new(float lon) { Line 781  GtkWidget *lon_entry_new(float lon) {
781                       (GtkSignalFunc)on_lon_picker_button_press, NULL);                       (GtkSignalFunc)on_lon_picker_button_press, NULL);
782  #endif  #endif
783    
784      pos_lon_check(widget);
785    return widget;    return widget;
786  }  }
787    
# Line 786  void lat_entry_set(GtkWidget *widget, fl Line 814  void lat_entry_set(GtkWidget *widget, fl
814    g_object_set_data(G_OBJECT(widget), "latitude", (gpointer)lat_int);    g_object_set_data(G_OBJECT(widget), "latitude", (gpointer)lat_int);
815    g_signal_emit_by_name(widget, "changed");    g_signal_emit_by_name(widget, "changed");
816  #endif  #endif
817      pos_lat_check(widget);
818  }  }
819    
820  void lon_entry_set(GtkWidget *widget, float lon) {  void lon_entry_set(GtkWidget *widget, float lon) {
# Line 799  void lon_entry_set(GtkWidget *widget, fl Line 828  void lon_entry_set(GtkWidget *widget, fl
828    g_object_set_data(G_OBJECT(widget), "longitude", (gpointer)lon_int);    g_object_set_data(G_OBJECT(widget), "longitude", (gpointer)lon_int);
829    g_signal_emit_by_name(widget, "changed");    g_signal_emit_by_name(widget, "changed");
830  #endif  #endif
831      pos_lon_check(widget);
832  }  }
833    
834  void lat_label_set(GtkWidget *widget, float lat) {  void lat_label_set(GtkWidget *widget, float lat) {

Legend:
Removed from v.239  
changed lines
  Added in v.240