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]; |
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 |
|
|
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 |
|
|
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) { |
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) { |