App-SeismicUnixGui
view release on metacpan or search on metacpan
lib/App/SeismicUnixGui/misc/file_dialog.pm view on Meta::CPAN
# print("2.file_dialog,_pre-built_superflow_path, _values_aref: @{$file_dialog->{_values_aref}}[0]\n");
# my $length= scalar @{$file_dialog->{_values_aref}}; # 61 values
# for (my $i=0; $i < $length; $i++) {
# print("3.file_dialog,_pre-built_superflow_path, _values_aref: @{$file_dialog->{_values_aref}}[$i]\n");
# }
}
}
elsif ( $widget_type eq 'MainWindow' ) { # opening a random file
# print("file_dialog,_pre_built_superflow_open_path widget type is 'MainWindow' \n");
my $message = $file_dialog->{_message_w}->FileDialog_button(0);
$file_dialog->{_message_w}->delete( "1.0", 'end' );
$file_dialog->{_message_w}->insert( 'end', $message );
}
else {
print(
"file_dialog,_pre-built_superflow_path no widget type selected \n");
}
$gui_history->set4superflow_open_path_end();
$gui_history->set4FileDialog_open_end(); # 2 set
$file_dialog = $gui_history->get_hash_ref(); # retrieves 93
}
=head2 sub _set_FileDialog2user_built_flow
{_Data} ... open pre-existing data file
{_Open} ... open pre-existing user-built flow
{_SaveAs} ... save a new user-built flow
{_Save} ... re-save a user-built flow
{_Delete} ... delete a user-built flow, but any file can be removed
=cut
sub _set_FileDialog2user_built_flow {
my ($self) = @_;
my $topic = _get_dialog_type();
# print("file_dialog, _set_FileDialog2user_built_flow, dialog type:$topic\n");
if ( length $topic ) {
my $dispatch = {
$file_dialog_type->{_Data} => \&_user_built_flow_open_data_file,
$file_dialog_type->{_Data_PL_SEISMIC} =>
\&_user_built_flow_open_data_file,
$file_dialog_type->{_Data_SEISMIC_TXT} =>
\&_user_built_flow_open_data_file,
$file_dialog_type->{_Open} => \&_user_built_flow_open_perl_file,
$file_dialog_type->{_Path} => \&_user_built_flow_open_path,
$file_dialog_type->{_Delete} => \&_user_built_flow_Delete_perl_file,
$file_dialog_type->{_SaveAs} => \&_user_built_flow_SaveAs_perl_file,
};
$dispatch->{$topic}->();
}
else {
print(
"file_dialog,_set_FileDialog2user_built_flow, missing bindings\n");
}
# print("file_dialog, End of _set_FileDialog2user_built_flow \n");
return ($empty_string);
}
sub _set_FileDialog2pre_built_superflow {
my ($self) = @_;
my $topic = _get_dialog_type();
if ( length $topic ) {
my $dispatch = {
$file_dialog_type->{_Data_PL_SEISMIC} =>
\&_pre_built_superflow_open_data_file,
$file_dialog_type->{_Data_SEISMIC_TXT} =>
\&_pre_built_superflow_open_data_file,
$file_dialog_type->{_Home} =>
\&_pre_built_superflow_open_data_file,
$file_dialog_type->{_Data} => \&_pre_built_superflow_open_data_file,
$file_dialog_type->{_Path} => \&_pre_built_superflow_open_path,
$file_dialog_type->{_last_dir_in_path} =>
\&_big_stream_last_dir_in_path,
};
$dispatch->{$topic}->();
}
else {
print(
"file_dialog,_set_FileDialog2pre_built_superflow, missing bindings\n"
);
}
#
# if ( $topic eq $file_dialog_type->{_Data_PL_SEISMIC} ) {
#
# # print("file_dialog,_set_FileDialog2pre_built_superflow, topic= $topic\n");
# _pre_built_superflow_open_data_file();
#
# }
# elsif ( $topic eq $file_dialog_type->{_Data_SEISMIC_TXT} ) {
#
# # print("file_dialog,_set_FileDialog2pre_built_superflow, topic= $topic\n");
# _pre_built_superflow_open_data_file();
#
# }
# elsif ( $topic eq $file_dialog_type->{_Data} ) {
#
# # print("file_dialog,_set_FileDialog2pre_built_superflow, topic= $topic\n");
# _pre_built_superflow_open_data_file();
#
# }
# elsif ( $topic eq $file_dialog_type->{_Home} ) {
#
# # print("2. file_dialog,set_FileDialog2pre_built_superflow, topic= $topic\n");
# # _big_stream_last_dir_in_path();
# # _big_stream_Home();
# }
# elsif ( $topic eq $file_dialog_type->{_Path} ) {
#
# # print("1. file_dialog,set_FileDialog2pre_built_superflow, topic= $topic\n");
# _pre_built_superflow_open_path();
#
# }
# elsif ( $topic eq $file_dialog_type->{_last_dir_in_path} ) {
#
# # print("2. file_dialog,set_FileDialog2pre_built_superflow, topic= $topic\n");
# _big_stream_last_dir_in_path();
#
# }
# elsif ( $topic eq $file_dialog_type->{_Open} ) {
#
# # print("file_dialog,set_FileDialog2pre_built_superflow, not allowed \n");
#
# # NADA
#
# }
# elsif ( $topic eq $file_dialog_type->{_SaveAs} ) {
#
# print("file_dialog,set_FileDialog2pre_built_superflow, not allowed \n");
# _save_button('SaveAs'); superflow saves flow automatically and should not
# require this option! #NADA
#
# }
# else {
# print(
# "file_dialog,set_FileDialog2pre_built_superflow, problem! \n");
# }
return ($empty_string);
}
lib/App/SeismicUnixGui/misc/file_dialog.pm view on Meta::CPAN
bring in important values and their keys
=cut
sub set_hash_ref {
my ( $self, $hash_ref ) = @_;
if ($hash_ref) {
$gui_history->set_defaults($hash_ref);
$file_dialog = $gui_history->get_defaults();
# print("1. file_dialog, set_hash_ref,output gui history\n");
}
return ($empty_string);
}
=head2 sub FileDialog_director
Associates the type of file-opening process
with the correct module
Cleans previously used variables such as file names
and file paths
=cut
sub FileDialog_director {
my ($self) = @_;
# clear prior stored file names
_clear_perl_flow_name_in();
my $file_dialog_flow_type = _get_flow_type();
if ( length $file_dialog_flow_type ) {
my $dispatch = {
$flow_type_h->{_user_built} => \&_set_FileDialog2user_built_flow,
$flow_type_h->{_pre_built_superflow} =>
\&_set_FileDialog2pre_built_superflow,
};
$dispatch->{$file_dialog_flow_type}->();
}
else {
print("file_dialog, FileDialog_director is missing flow type\n");
}
return ($empty_string);
}
=head2 sub set_file_dialog_sub_ref
=cut
sub set_file_dialog_sub_ref {
my ( $self, $sub_ref ) = @_;
if ($sub_ref) {
print("binding set_file_dialog_sub_ref, $sub_ref\n");
$file_dialog->{_sub_ref} = $sub_ref;
}
else {
print("file_dialog, set_FileDialog_button_sub_ref, missing sub ref\n");
}
return ($empty_string);
}
1;
( run in 0.489 second using v1.01-cache-2.11-cpan-2398b32b56e )