project_parameters_t * load_selected_predefined_projection_parameters(int is_source, int projection, datum_type_t *datum, spheroid_type_t *spheroid) { GtkWidget * predefined_projection_option_menu; GtkWidget * menu; GtkWidget * selected_item; gchar filename[256]; gchar * path; gchar * path_and_filename; project_parameters_t * ret; projection_type_t type; char *err=NULL; predefined_projection_option_menu = is_source ? get_widget_checked("source_predefined_projection_option_menu") : get_widget_checked("target_predefined_projection_option_menu"); menu = gtk_option_menu_get_menu( GTK_OPTION_MENU(predefined_projection_option_menu)); selected_item = gtk_menu_get_active(GTK_MENU(menu)); sprintf(filename, "%s.proj", (char *)g_object_get_data( G_OBJECT(selected_item), "file")); if (out_of_sync(filename, projection)) return NULL; path = projection_directory(projection); path_and_filename = (gchar *) g_malloc(sizeof(gchar *) * (strlen(path) + strlen(filename) + 5)); sprintf(path_and_filename, "%s/%s", path, filename); ret = (project_parameters_t *) g_malloc(sizeof(project_parameters_t)); if (!parse_proj_args_file(path_and_filename, ret, &type, datum, spheroid, &err)) { message_box(err); free(err); return NULL; } g_free(path); g_free(path_and_filename); return ret; }
gboolean rename_selected_output_filename() { GtkWidget *files_list; GtkTreeIter iter; files_list = get_widget_checked("files_list"); if (get_iter_to_first_selected_row(files_list, list_store, &iter)) { gchar *current_output_name; gchar *name_without_path; GtkWidget *change_output_name_dialog, *label_current_output_filename, *entry_new_output_filename; change_output_name_dialog = get_widget_checked("change_output_name_dialog"); label_current_output_filename = get_widget_checked("label_current_output_filename"); entry_new_output_filename = get_widget_checked("entry_new_output_filename"); gtk_tree_model_get(GTK_TREE_MODEL(list_store), &iter, COL_OUTPUT_FILE, ¤t_output_name, -1); name_without_path = g_path_get_basename(current_output_name); gtk_label_set_text(GTK_LABEL(label_current_output_filename), name_without_path); gtk_entry_set_text(GTK_ENTRY(entry_new_output_filename), name_without_path); gtk_widget_grab_focus(entry_new_output_filename); g_free(name_without_path); g_free(current_output_name); gtk_widget_show(change_output_name_dialog); } else { show_please_select_message(); } return TRUE; }
static void set_button_images() { GtkWidget * w = get_widget_checked("google_earth_image"); gtk_image_set_from_file(GTK_IMAGE(w), imgloc("google_earth_button.gif")); w = get_widget_checked("mdv_image"); gtk_image_set_from_file(GTK_IMAGE(w), imgloc("ceos_metadata.png")); w = get_widget_checked("save_subset_image"); gtk_image_set_from_file(GTK_IMAGE(w), imgloc("save_as.png")); w = get_widget_checked("save_setup_image"); gtk_image_set_from_file(GTK_IMAGE(w), imgloc("save_as.png")); }
void set_toolbar_images() { GtkWidget *w; gchar loc[1024]; w = get_widget_checked("source_load_button"); //gtk_button_set_label(GTK_BUTTON(w), " Browse..."); w = get_widget_checked("source_load_button_image"); img_loc(loc, "folder_s.png"); gtk_image_set_from_file(GTK_IMAGE(w), loc); w = get_widget_checked("source_save_button"); //gtk_button_set_label(GTK_BUTTON(w), " Save..."); w = get_widget_checked("source_save_button_image"); img_loc(loc, "save_as.png"); gtk_image_set_from_file(GTK_IMAGE(w), loc); w = get_widget_checked("target_load_button"); //gtk_button_set_label(GTK_BUTTON(w), " Browse..."); w = get_widget_checked("target_load_button_image"); img_loc(loc, "folder_s.png"); gtk_image_set_from_file(GTK_IMAGE(w), loc); w = get_widget_checked("target_save_button"); //gtk_button_set_label(GTK_BUTTON(w), " Save..."); w = get_widget_checked("target_save_button_image"); img_loc(loc, "save_as.png"); gtk_image_set_from_file(GTK_IMAGE(w), loc); }
int main(int argc, char **argv) { gtk_init(&argc, &argv); gchar *glade_xml_file = (gchar *) find_in_share("proj2proj.glade"); printf("Found proj2proj.glade: %s\n", glade_xml_file); glade_xml = glade_xml_new(glade_xml_file, NULL, NULL); free(glade_xml_file); set_font(); glade_xml_signal_autoconnect(glade_xml); // default to lat/lon -> UTM GtkWidget *w = get_widget_checked("source_projection_option_menu"); set_combo_box_item(w, 5); geocode_options_changed(TRUE); geocode_options_changed(FALSE); if (argc > 1) { put_file_in_textview(argv[1], "source_textview"); forward(); } set_toolbar_images(); gtk_main (); exit (EXIT_SUCCESS); }
SIGNAL_CALLBACK void on_mask_file_chooser_ok_button_clicked(GtkWidget *widget) { GtkWidget *file_chooser_dialog; GSList *selections; GSList *current; int i, n; file_chooser_dialog = get_widget_checked("mask_file_chooser"); selections = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(file_chooser_dialog)); current = selections; i = n = 0; while (current) { gchar * file = (gchar *) current->data; if (set_mask_file(file)) ++i; current = g_slist_next(current); ++n; g_free(file); } g_slist_free(selections); gtk_widget_hide(file_chooser_dialog); }
int fill_stats(ImageInfo *ii) { int i, j; const int w = 12; // width of the little "scale" image unsigned char *histogram_scale_data = MALLOC(sizeof(unsigned char)*256*w*3); for (i=0; i<256; ++i) { for (j=0; j<w*3; ++j) { histogram_scale_data[j+i*w*3] = (unsigned char)i; } } GdkPixbuf *pb = gdk_pixbuf_new_from_data(histogram_scale_data, GDK_COLORSPACE_RGB, FALSE, 8, w, 256, w*3, destroy_pb_data, NULL); GtkWidget *img = get_widget_checked("histogram_scale_image"); GdkPixbuf *old_pb = gtk_image_get_pixbuf(GTK_IMAGE(img)); if (old_pb) g_object_unref(old_pb); gtk_image_set_from_pixbuf(GTK_IMAGE(img), pb); fill_stats_label(ii); pop_hist(ii); disable_map_tabs(ii); return TRUE; }
SIGNAL_CALLBACK void on_mask_file_selection_ok_button_clicked(GtkWidget *widget) { GtkWidget *file_selection_dialog; gchar **selections; gchar **current; int i, n; file_selection_dialog = get_widget_checked("mask_file_selection"); selections = gtk_file_selection_get_selections( GTK_FILE_SELECTION(file_selection_dialog)); current = selections; i = n = 0; while (*current) { if (set_mask_file(*current)) ++i; ++current; ++n; } g_strfreev(selections); gtk_widget_hide(file_selection_dialog); }
SIGNAL_CALLBACK void on_dem_file_chooser_ok_button_clicked(GtkWidget *widget) { GtkWidget *file_chooser_dialog; GSList *selections; GSList *current; int i, n; file_chooser_dialog = get_widget_checked("dem_file_chooser"); selections = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(file_chooser_dialog)); current = selections; i = n = 0; while (current) { gchar * file = (gchar *) current->data; /* second clause here allows silent fail for .L files, PR 92 */ if (set_dem_file(file)) ++i; current = g_slist_next(current); ++n; g_free(file); } g_slist_free(selections); gtk_widget_hide(file_chooser_dialog); }
int set_mask_file(const char *file) { GtkWidget *mask_entry; mask_entry = get_widget_checked("mask_entry"); gtk_entry_set_text(GTK_ENTRY(mask_entry), file); return TRUE; }
int set_dem_file(const char *file) { GtkWidget *dem_entry; dem_entry = get_widget_checked("dem_entry"); gtk_entry_set_text(GTK_ENTRY(dem_entry), file); return TRUE; }
void fill_small_have_data(ThumbnailData *thumbnail_data, ImageInfo *ii) { GdkPixbuf *pb = make_small_image(TRUE, thumbnail_data, ii); GtkWidget *img = get_widget_checked("small_image"); gtk_image_set_from_pixbuf(GTK_IMAGE(img), pb); }
void metadata_hide() { GtkWidget *metadata_dialog = get_widget_checked("metadata_dialog"); gtk_widget_hide(metadata_dialog); }
void hide_input_file_selection_dialog() { GtkWidget *file_selection_dialog = get_widget_checked("input_file_selection"); gtk_widget_hide(file_selection_dialog); }
void help_hide() { GtkWidget *help_dialog = get_widget_checked("help_dialog"); gtk_widget_hide(help_dialog); }
static void hide_mask_file_selection_dialog() { GtkWidget *file_selection_dialog = get_widget_checked("mask_file_selection"); gtk_widget_hide(file_selection_dialog); }
void default_to_terrcorr_on() { // The "initially on" value on the .glade file for the terrain correction // radio button doesn't seem to be working... turn it on manually. GtkWidget *rb_terrcorr; rb_terrcorr = get_widget_checked("rb_terrcorr"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rb_terrcorr), TRUE); }
void show_widget(const char *widget_name, int show) { GtkWidget *w = get_widget_checked(widget_name); if (show) gtk_widget_show(w); else gtk_widget_hide(w); }
// sets up the file chooser dialog static void create_file_chooser_dialog() { GtkWidget *parent = get_widget_checked("ssv_main_window"); add_overlay_widget = gtk_file_chooser_dialog_new( "Open Overlay File", GTK_WINDOW(parent), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, //Cancel button GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, //Open button NULL); // we need to extract the buttons, so we can connect them to our // button handlers, above GtkHButtonBox *box = (GtkHButtonBox*)(((GtkDialog*)add_overlay_widget)->action_area); GList *buttons = box->button_box.box.children; GtkWidget *cancel_btn = ((GtkBoxChild*)buttons->data)->widget; GtkWidget *ok_btn = ((GtkBoxChild*)buttons->next->data)->widget; g_signal_connect((gpointer)cancel_btn, "clicked", G_CALLBACK(add_overlay_cancel_clicked), NULL); g_signal_connect((gpointer)ok_btn, "clicked", G_CALLBACK(add_overlay_ok_clicked), NULL); g_signal_connect(add_overlay_widget, "destroy", G_CALLBACK(add_overlay_widget_destroy), NULL); g_signal_connect(add_overlay_widget, "destroy_event", G_CALLBACK(add_overlay_widget_destroy), NULL); g_signal_connect(add_overlay_widget, "delete_event", G_CALLBACK(add_overlay_widget_destroy), NULL); // add the filters GtkFileFilter *shp_filt = gtk_file_filter_new(); gtk_file_filter_set_name(shp_filt, "Shape Files (*.shp)"); gtk_file_filter_add_pattern(shp_filt, "*.shp"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(add_overlay_widget),shp_filt); GtkFileFilter *csv_filt = gtk_file_filter_new(); gtk_file_filter_set_name(csv_filt, "Generic CSV Files (*.csv)"); gtk_file_filter_add_pattern(csv_filt, "*.csv"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(add_overlay_widget),csv_filt); GtkFileFilter *all_filt = gtk_file_filter_new(); gtk_file_filter_set_name(all_filt, "All Files (*.*)"); gtk_file_filter_add_pattern(all_filt, "*"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(add_overlay_widget),all_filt); // don't allow multi-select gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(add_overlay_widget), FALSE); // we need to make these modal -- if the user opens multiple "open" // dialogs, we'll get confused on the callbacks gtk_window_set_modal(GTK_WINDOW(add_overlay_widget), TRUE); gtk_window_set_destroy_with_parent(GTK_WINDOW(add_overlay_widget), TRUE); gtk_dialog_set_default_response(GTK_DIALOG(add_overlay_widget), GTK_RESPONSE_OK); }
void select_polsarpro_classification_lut(const char *lut_basename) { int which = GPOINTER_TO_INT( g_hash_table_lookup(g_polsarpro_classification_optionmenu_ht, lut_basename)); GtkWidget *option_menu; option_menu = get_widget_checked("browse_select_colormap_optionmenu"); gtk_option_menu_set_history(GTK_OPTION_MENU(option_menu), which); }
void clear_combobox(const char *widget_name) { GtkWidget *w = get_widget_checked(widget_name); int x=0; while (1 /* gtk_combo_box_get_active(GTK_COMBO_BOX(w)) != -1*/) { gtk_combo_box_remove_text(GTK_COMBO_BOX(w), 0); if (++x>MAX_BANDS) break; } }
SIGNAL_CALLBACK void on_input_file_selection_ok_button_clicked(GtkWidget *widget) { GtkWidget *file_selection_dialog; gchar **selections; gchar **current; int i, n; file_selection_dialog = get_widget_checked("input_file_selection"); selections = gtk_file_selection_get_selections( GTK_FILE_SELECTION(file_selection_dialog)); current = selections; i = n = 0; while (*current) { printf("in while loop\n"); /* second clause here allows silent fail for .L files, PR 92 */ if ((add_to_files_list(*current) || is_meta_file(*current)) && !is_asf_complex_data((const char *)(*current))) { printf("passed conditions - counting up\n"); ++i; } ++current; ++n; } if (i != n) { if (n == 1 || i == 0) { message_box( "Error: Unrecognized file type, file extension, or unsupported " "product level. MapReady\ndoes not currently support Level 0, " "complex-valued, or ALOS PRISM or AVNIR2 Level 1A\nand 1B1 " "files.\n\n" "Please select the leader (.L, LED-, etc) file for product " "types higher than Level 0 to\nadd files to the input file " "list.\n\n" "See 'asf_import' or the ASF SAR Training Processor ('stp') " "for more information\non Level 0 processing.\n"); } else { message_box("Some of the files were not added -- " "unknown types or extensions."); } } g_strfreev(selections); gtk_widget_hide(file_selection_dialog); }
void put_int_to_entry(const char *widget_name, int val) { GtkWidget *e = get_widget_checked(widget_name); char tmp[64]; sprintf(tmp, "%d", val); gtk_entry_set_text(GTK_ENTRY(e), tmp); }
static void dialog_cons_hide() { GtkWidget *dialog_cons; dialog_cons = get_widget_checked("dialog_cons"); gtk_widget_hide(dialog_cons); }
static void change_output_name_dialog_hide() { GtkWidget *change_output_name_dialog; change_output_name_dialog = get_widget_checked("change_output_name_dialog"); gtk_widget_hide(change_output_name_dialog); }
void put_double_to_entry_fmt(const char *widget_name, double val, const char *format) { GtkWidget *e = get_widget_checked(widget_name); char tmp[64]; sprintf(tmp, format, val); gtk_entry_set_text(GTK_ENTRY(e), tmp); }
void put_cached_image(const char *basename, const char *append, const char *widget_name) { char *filename = MALLOC(sizeof(char)*(strlen(basename)+strlen(cache_dir)+ strlen(append)+10)); if (strlen(append) > 0) sprintf(filename, "%s/%s/%s_%s.jpg", cache_dir, basename, basename, append); else sprintf(filename, "%s/%s/%s.jpg", cache_dir, basename, basename); GtkWidget *img = get_widget_checked(widget_name); gtk_image_set_from_file(GTK_IMAGE(img), filename); }
int settings_get_request_type() { GtkLabel *l = GTK_LABEL(get_widget_checked("request_type_label")); const char *s = gtk_label_get_text(l); if (strcmp(s, "Observation Request") == 0) return OBSERVATION_REQUEST; else if (strcmp(s, "Acquisition Request") == 0) return ACQUISITION_REQUEST; else if (strcmp(s, "On-Demand Level 0") == 0) return ON_DEMAND_LEVEL_0; return UNSELECTED_REQUEST_TYPE; }
static void prepare_dialog_cons() { GtkWidget * dialog_cons; GtkWidget * dialog_cons_prefix_entry; GtkWidget * dialog_cons_suffix_entry; GtkWidget * dialog_cons_scheme_entry; dialog_cons = get_widget_checked("dialog_cons"); dialog_cons_prefix_entry = get_widget_checked("dialog_cons_prefix_entry"); dialog_cons_suffix_entry = get_widget_checked("dialog_cons_suffix_entry"); dialog_cons_scheme_entry = get_widget_checked("dialog_cons_scheme_entry"); gtk_entry_set_text(GTK_ENTRY(dialog_cons_prefix_entry), current_naming_scheme->prefix); gtk_entry_set_text(GTK_ENTRY(dialog_cons_suffix_entry), current_naming_scheme->suffix); if (strcmp(current_naming_scheme->scheme, default_scheme) == 0) { set_vbox_advanced_visibility(FALSE); gtk_entry_set_text(GTK_ENTRY(dialog_cons_scheme_entry), ""); } else { set_vbox_advanced_visibility(TRUE); gtk_entry_set_text(GTK_ENTRY(dialog_cons_scheme_entry), current_naming_scheme->scheme); } gtk_widget_show(dialog_cons); }
SIGNAL_CALLBACK void on_add_file_with_ancillary_polsarpro_image_browse_button_clicked(GtkWidget *w) { GtkWidget *combo = get_widget_checked("browse_select_image_data_type_optionmenu"); int selected = gtk_combo_box_get_active(GTK_COMBO_BOX(combo)); if (selected == SELECT_POLARIMETRIC_MATRIX) do_browse("Add PolSARPro Matrix File", "add_file_with_ancillary_polsarpro_image_entry", BIN_FILT); else do_browse("Add PolSARPro File", "add_file_with_ancillary_polsarpro_image_entry", BIN_FILT); }