Beispiel #1
0
void set_predefined_projections(int is_source, int projection)
{
    GtkWidget * predefined_projection_option_menu;
    GtkWidget * menu = NULL;

    /* looking through all the files can be slow, skip it if we can */
    if (projection == previous_projection)
      return;

    if (previous_projection == -1)
    {
        /* populate all the predefined projection menus */
        source_utm_menu =
            populate_predefined_projections(PROJ_UTM);
        target_utm_menu =
            populate_predefined_projections(PROJ_UTM);

        source_latlon_menu =
            populate_predefined_projections(PROJ_LATLON);
        target_latlon_menu =
            populate_predefined_projections(PROJ_LATLON);

        source_ps_menu =
            populate_predefined_projections(PROJ_PS);
        target_ps_menu =
            populate_predefined_projections(PROJ_PS);

        source_lamcc_menu =
            populate_predefined_projections(PROJ_LAMCC);
        target_lamcc_menu =
            populate_predefined_projections(PROJ_LAMCC);

        source_lamaz_menu =
            populate_predefined_projections(PROJ_LAMAZ);
        target_lamaz_menu =
            populate_predefined_projections(PROJ_LAMAZ);

        source_albers_menu =
            populate_predefined_projections(PROJ_ALBERS);
        target_albers_menu =
            populate_predefined_projections(PROJ_ALBERS);

        g_object_ref(source_latlon_menu);
        g_object_ref(source_utm_menu);
        g_object_ref(source_ps_menu);
        g_object_ref(source_lamcc_menu);
        g_object_ref(source_lamaz_menu);
        g_object_ref(source_albers_menu);

        g_object_ref(target_latlon_menu);
        g_object_ref(target_utm_menu);
        g_object_ref(target_ps_menu);
        g_object_ref(target_lamcc_menu);
        g_object_ref(target_lamaz_menu);
        g_object_ref(target_albers_menu);
    }

    predefined_projection_option_menu = is_source ?
      get_widget_checked("source_predefined_projection_option_menu") :
      get_widget_checked("target_predefined_projection_option_menu");

    switch (projection)
    {
    case PROJ_UTM:
        menu = is_source ? source_utm_menu : target_utm_menu;
        break;

    case PROJ_LATLON:
        menu = is_source ? source_latlon_menu : target_latlon_menu;
        break;

    case PROJ_PS:
        menu = is_source ? source_ps_menu : target_ps_menu;
        break;

    case PROJ_LAMCC:
        menu = is_source ? source_lamcc_menu : target_lamcc_menu;
        break;

    case PROJ_LAMAZ:
        menu = is_source ? source_lamaz_menu : target_lamaz_menu;
        break;

    case PROJ_ALBERS:
        menu = is_source ? source_albers_menu : target_albers_menu;
        break;
    }

    g_assert(menu);

    previous_projection = projection;
    gtk_option_menu_set_menu(
        GTK_OPTION_MENU(predefined_projection_option_menu), menu);

    gtk_option_menu_set_history(
        GTK_OPTION_MENU(predefined_projection_option_menu), 0);

    gtk_widget_show(menu);
    gtk_widget_show(predefined_projection_option_menu);
}
Beispiel #2
0
void set_predefined_projections(int projection)
{
    GtkWidget * predefined_projection_option_menu;
    GtkWidget * menu = NULL;

    /* looking through all the files can be slow, skip it if we can */
    if (projection == previous_projection)
        return;

    if (previous_projection == -1)
    {
        /* populate all the predefined projection menus */
        utm_menu =
            populate_predefined_projections(PROJ_UTM);

        ps_menu =
            populate_predefined_projections(PROJ_PS);

        lamcc_menu =
            populate_predefined_projections(PROJ_LAMCC);

        lamaz_menu =
            populate_predefined_projections(PROJ_LAMAZ);

        albers_menu =
            populate_predefined_projections(PROJ_ALBERS);

	mer_menu =
	  populate_predefined_projections(PROJ_MER);

	eqr_menu =
	  populate_predefined_projections(PROJ_EQR);

	geo_menu =
	  populate_predefined_projections(PROJ_GEO);

        g_object_ref(utm_menu);
        g_object_ref(ps_menu);
        g_object_ref(lamcc_menu);
        g_object_ref(lamaz_menu);
        g_object_ref(albers_menu);
	g_object_ref(mer_menu);
	g_object_ref(eqr_menu);
	g_object_ref(geo_menu);
    }

    predefined_projection_option_menu =
        get_widget_checked("predefined_projection_option_menu");
    g_assert(predefined_projection_option_menu);

    switch (projection)
    {
    case PROJ_UTM:
        menu = utm_menu;
        break;

    case PROJ_PS:
        menu = ps_menu;
        break;

    case PROJ_LAMCC:
        menu = lamcc_menu;
        break;

    case PROJ_LAMAZ:
        menu = lamaz_menu;
        break;

    case PROJ_ALBERS:
        menu = albers_menu;
        break;

    case PROJ_MER:
      menu = mer_menu;
      break;

    case PROJ_EQR:
      menu = eqr_menu;
      break;

    case PROJ_GEO:
      menu = geo_menu;
      break;
    }

    g_assert(menu);

    previous_projection = projection;
    gtk_option_menu_set_menu(
        GTK_OPTION_MENU(predefined_projection_option_menu), menu);

    gtk_option_menu_set_history(
        GTK_OPTION_MENU(predefined_projection_option_menu), 0);

    gtk_widget_show(menu);
    gtk_widget_show(predefined_projection_option_menu);
}