Esempio n. 1
0
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;
}
Esempio n. 2
0
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, &current_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;
}
Esempio n. 3
0
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"));
}
Esempio n. 4
0
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);
}
Esempio n. 5
0
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);
}
Esempio n. 6
0
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);
}
Esempio n. 7
0
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;
}
Esempio n. 8
0
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);
}
Esempio n. 9
0
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);
}
Esempio n. 10
0
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;
}
Esempio n. 11
0
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;
}
Esempio n. 12
0
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);
}
Esempio n. 13
0
void
metadata_hide()
{
    GtkWidget *metadata_dialog =
        get_widget_checked("metadata_dialog");

    gtk_widget_hide(metadata_dialog);
}
Esempio n. 14
0
void
hide_input_file_selection_dialog()
{
    GtkWidget *file_selection_dialog =
        get_widget_checked("input_file_selection");

    gtk_widget_hide(file_selection_dialog);
}
Esempio n. 15
0
void
help_hide()
{
    GtkWidget *help_dialog =
        get_widget_checked("help_dialog");

    gtk_widget_hide(help_dialog);
}
Esempio n. 16
0
static void
hide_mask_file_selection_dialog()
{
    GtkWidget *file_selection_dialog =
        get_widget_checked("mask_file_selection");

    gtk_widget_hide(file_selection_dialog);
}
Esempio n. 17
0
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);
}
Esempio n. 18
0
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);
}
Esempio n. 19
0
// 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);
}
Esempio n. 20
0
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);
}
Esempio n. 21
0
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;
    }
}
Esempio n. 22
0
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);
}
Esempio n. 23
0
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);
}
Esempio n. 24
0
static void dialog_cons_hide()
{
    GtkWidget *dialog_cons;

    dialog_cons =
        get_widget_checked("dialog_cons");

    gtk_widget_hide(dialog_cons);
}
Esempio n. 25
0
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);
}
Esempio n. 26
0
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);
}
Esempio n. 27
0
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);
}
Esempio n. 28
0
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;
}
Esempio n. 29
0
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);
}
Esempio n. 30
0
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);
}