App-Asciio
view release on metacpan or search on metacpan
setup/actions/file.pl view on Meta::CPAN
if($self->get_modified_state())
{
$user_answer = $self->display_yes_no_cancel_dialog('asciio', 'Diagram modified. Save it?') ;
if($user_answer eq 'yes')
{
my $file_name = $self->get_file_name('save') ;
my ($base_name, $path, $extension) = File::Basename::fileparse($file_name, ('\..*')) ;
$extension =~ s/^\.// ;
my $type = $extension ne q{}
? $extension
: 'asciio_internal_format' ;
$self->save_with_type(undef, $type, $file_name) if(defined $file_name && $file_name ne q[]) ;
}
}
if($user_answer ne 'cancel')
{
$file_name ||= $self->get_file_name('open') ;
if(defined $file_name && $file_name ne q[])
{
my $title = $self->load_file($file_name) ;
my ($base_name, $path, $extension) = File::Basename::fileparse($file_name, ('\..*')) ;
$extension =~ s/^\.// ;
my $type = $extension ne q{}
? $extension
: 'asciio_internal_format' ;
$self->set_title($title) if defined $title;
$self->set_modified_state(0) ;
}
}
} ;
#----------------------------------------------------------------------------------------------
sub insert
{
my ($self, $x, $y, $file_name) = @_ ;
$file_name ||= $self->get_file_name('open') ;
if(defined $file_name && $file_name ne q[])
{
my $asciio = new App::Asciio() ;
use Module::Util qw(find_installed) ;
use File::Basename ;
my ($basename, $path, $ext) = File::Basename::fileparse(find_installed('App::Asciio'), ('\..*')) ;
my $setup_path = $path . $basename . '/setup/' ;
$asciio->setup([$setup_path . 'setup.ini', ] ) ;
$asciio->load_file($file_name) ;
$asciio->run_actions_by_name('Select all elements', 'Copy to clipboard') ;
use Clone ;
$self->{CLIPBOARD} = Clone::clone($asciio->{CLIPBOARD}) ;
$self->run_actions_by_name(['Insert from clipboard', $x, $y]) ;
}
} ;
( run in 0.417 second using v1.01-cache-2.11-cpan-2398b32b56e )