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 )