Geo-Raster
view release on metacpan or search on metacpan
lib/Geo/Raster/Layer/Dialogs.glade view on Meta::CPAN
<child>
<widget class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="label" translatable="yes">Driver:</property>
</widget>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkComboBox" id="copy_driver_combobox">
<property name="visible">True</property>
</widget>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="label" translatable="yes">Name:</property>
lib/Geo/Raster/Layer/Dialogs.glade view on Meta::CPAN
<child>
<widget class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="label" translatable="yes">Get region to copy from:</property>
</widget>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkComboBox" id="copy_region_combobox">
<property name="visible">True</property>
</widget>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
lib/Geo/Raster/Layer/Dialogs.glade view on Meta::CPAN
<widget class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="label" translatable="yes">Store into layer:</property>
</widget>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkComboBoxEntry" id="polygonize_name_comboboxentry">
<property name="visible">True</property>
</widget>
<packing>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
lib/Geo/Raster/Layer/Dialogs.glade view on Meta::CPAN
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkVBox" id="vbox3">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
<widget class="GtkComboBox" id="polygonize_datasource_combobox">
<property name="visible">True</property>
</widget>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkHBox" id="hbox3">
<property name="visible">True</property>
<child>
lib/Geo/Raster/Layer/Dialogs.glade view on Meta::CPAN
<packing>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<widget class="GtkComboBox" id="polygonize_driver_combobox">
<property name="visible">True</property>
</widget>
<packing>
<property name="position">2</property>
</packing>
</child>
</widget>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
lib/Geo/Raster/Layer/Dialogs/Copy.pm view on Meta::CPAN
$from->set_completion($auto);
my $to = $dialog->get_widget('to_EPSG_entry');
$auto = Gtk2::EntryCompletion->new;
$auto->set_match_func(sub {1});
$list = Gtk2::ListStore->new('Glib::String');
$auto->set_model($list);
$auto->set_text_column(0);
$to->set_completion($auto);
my $combo = $dialog->get_widget('copy_driver_combobox');
my $renderer = Gtk2::CellRendererText->new;
$combo->pack_start ($renderer, TRUE);
$combo->add_attribute ($renderer, text => 0);
$combo->signal_connect(changed=>\©_driver_selected, [$self, $gui]);
$combo = $dialog->get_widget('copy_region_combobox');
$renderer = Gtk2::CellRendererText->new;
$combo->pack_start ($renderer, TRUE);
$combo->add_attribute ($renderer, text => 0);
$combo->signal_connect(changed=>\©_region_selected, [$self, $gui]);
for ('minx','miny','maxx','maxy','cellsize') {
$dialog->get_widget('copy_'.$_.'_entry')->signal_connect(
changed =>
sub {
my(undef, $self) = @_;
return if $self->{_ignore_copy_entry_change};
$self->{copy_raster_dialog}->get_widget('copy_region_combobox')->set_active(0);
copy_info($self);
}, $self);
}
}
$dialog->get_widget('copy_progressbar')->set_fraction(0);
my $model = Gtk2::ListStore->new('Glib::String');
$model->set($model->append, 0, 'libral');
my @drivers;
for my $driver (Geo::GDAL::Drivers) {
next unless $driver->TestCapability('Create');
my $name = $driver->{ShortName};
push @drivers, $name;
}
for my $driver (sort @drivers) {
$model->set($model->append, 0, $driver);
}
my $combo = $dialog->get_widget('copy_driver_combobox');
$combo->set_model($model);
$combo->set_active(0);
$model = Gtk2::ListStore->new('Glib::String');
$model->set($model->append, 0, '');
$model->set($model->append, 0, '<Current view>');
$model->set($model->append, 0, '<self>');
my %names;
for my $layer (@{$gui->{overlay}->{layers}}) {
my $n = $layer->name();
$names{$n} = 1;
next unless $layer->isa('Geo::Raster');
next if $n eq $self->name();
$model->set($model->append, 0, $n);
}
$combo = $dialog->get_widget('copy_region_combobox');
$combo->set_model($model);
$combo->set_active(2);
copy_region_selected($combo, [$self, $gui]);
my $i = ord('a');
while ($names{chr($i)}) {$i++}
my $name = chr($i);
$dialog->get_widget('copy_name_entry')->set_text($name);
lib/Geo/Raster/Layer/Dialogs/Copy.pm view on Meta::CPAN
}
$src = $src->ExportToPrettyWkt;
$dst = $dst->ExportToPrettyWkt;
}
my $name = $dialog->get_widget('copy_name_entry')->get_text();
my $folder = $dialog->get_widget('copy_folder_entry')->get_text();
$folder .= '/' if $folder;
my $combo = $dialog->get_widget('copy_driver_combobox');
my $iter = $combo->get_active_iter;
my $driver = $combo->get_model->get($iter);
$combo = $dialog->get_widget('copy_region_combobox');
$iter = $combo->get_active_iter;
my $region = $combo->get_model->get($iter);
my($new_layer, $src_dataset, $dst_dataset);
# src_dataset
if ($driver eq 'libral' and !$project) {
if ($self->{GDAL}) {
$new_layer = $self->cache($minx, $miny, $maxx, $maxy, $cellsize);
} else {
lib/Geo/Raster/Layer/Dialogs/Polygonize.pm view on Meta::CPAN
});
if ($boot) {
$dialog->get_widget('polygonize_datasource_button')
->signal_connect( clicked=> sub {
my(undef, $self) = @_;
my $entry = $self->{polygonize_dialog}->get_widget('polygonize_datasource_entry');
file_chooser('Select folder', 'select_folder', $entry);
}, $self);
my $combo = $dialog->get_widget('polygonize_driver_combobox');
my $renderer = Gtk2::CellRendererText->new;
$combo->pack_start($renderer, TRUE);
$combo->add_attribute($renderer, text => 0);
$combo = $dialog->get_widget('polygonize_datasource_combobox');
$renderer = Gtk2::CellRendererText->new;
$combo->pack_start($renderer, TRUE);
$combo->add_attribute($renderer, text => 0);
}
my $model = Gtk2::ListStore->new('Glib::String');
for my $layer (@{$gui->{overlay}->{layers}}) {
my $n = $layer->name();
next unless $layer->isa('Geo::Vector');
next unless $layer->{update};
next if $n eq $self->name();
$model->set($model->append, 0, $n);
}
my $combo = $dialog->get_widget('polygonize_name_comboboxentry');
$combo->set_model($model);
$combo->set_text_column(0);
$combo->get_child->set_text($self->name.'_polygonized');
$model = Gtk2::ListStore->new('Glib::String');
$model->set ($model->append, 0, '');
for my $datasource (sort keys %{$self->{gui}{resources}{datasources}}) {
$model->set ($model->append, 0, $datasource);
}
$combo = $dialog->get_widget('polygonize_datasource_combobox');
$combo->set_model($model);
$combo->set_active(0);
$model = Gtk2::ListStore->new('Glib::String');
my $i = 1;
my $active = 0;
$model->set($model->append, 0, ''); # create into existing data source
for my $driver (Geo::OGR::Drivers) {
next unless $driver->TestCapability('CreateDataSource');
my $name = $driver->GetName;
$active = $i if $name eq 'Memory';
$model->set($model->append, 0, $name);
$i++;
}
$combo = $dialog->get_widget('polygonize_driver_combobox');
$combo->set_model($model);
$combo->set_active($active);
return $dialog->get_widget('polygonize_dialog');
}
##@ignore
sub do_polygonize {
my($self, $gui, $close) = @{$_[1]};
my $dialog = $self->{polygonize_dialog};
my %params;
my $into = $dialog->get_widget('polygonize_name_comboboxentry')->get_active_text;
croak "Store into?" unless $into;
my $into_layer = $gui->layer($into);
if ($into_layer) {
croak $into_layer->name." is not a vector layer" unless $into_layer->isa('Geo::Vector');
$params{schema} = $into_layer->schema;
} else {
my $combo = $dialog->get_widget('polygonize_datasource_combobox');
my $active = $combo->get_active();
if ($active > 0) {
my $model = $combo->get_model;
my $iter = $model->get_iter_from_string($active);
my $store = $model->get($iter, 0);
$params{data_source} = $self->{gui}{resources}{datasources}{$store};
} else {
$params{data_source} = $dialog->get_widget('polygonize_datasource_entry')->get_text;
$params{driver} = $dialog->get_widget('polygonize_driver_combobox')->get_active_text;
}
$params{create} = $into;
my $layers;
if ($params{driver} ne 'Memory') {
eval {
$layers = Geo::Vector::layers($params{driver}, $params{data_source});
};
}
croak "Data source '$params{data_source}' already contains a layer with name '$params{create}'."
if ($layers and $layers->{$params{create}});
( run in 0.725 second using v1.01-cache-2.11-cpan-8dfa8b56332 )