App-SeismicUnixGui

 view release on metacpan or  search on metacpan

lib/App/SeismicUnixGui/big_streams/immodpg.pm  view on Meta::CPAN

		$immodpg->{_VbotEntry} = $widget_h->{_VbotEntry};
		$immodpg->{_Vbot_upper_layerEntry} =
		  $widget_h->{_Vbot_upper_layerEntry};
		$immodpg->{_VincrementEntry} = $widget_h->{_VincrementEntry};
		$immodpg->{_VtopEntry}       = $widget_h->{_VtopEntry};
		$immodpg->{_Vtop_lower_layerEntry} =
		  $widget_h->{_Vtop_lower_layerEntry};
		$immodpg->{_VbotNtop_factorEntry} = $widget_h->{_VbotNtop_factorEntry};
		$immodpg->{_clip4plotEntry}       = $widget_h->{_clip4plotEntry};
		$immodpg->{_layerEntry}           = $widget_h->{_layerEntry};
		$immodpg->{_thickness_mEntry}     = $widget_h->{_thickness_mEntry};
		$immodpg->{_thickness_increment_mEntry} =
		  $widget_h->{_thickness_increment_mEntry};
		$immodpg->{_upper_layerLabel} = $widget_h->{_upper_layerLabel};
		$immodpg->{_lower_layerLabel} = $widget_h->{_lower_layerLabel};
		$immodpg->{_mw}               = $widget_h->{_mw};

 #		$immodpg->{_message_box_w}              = $widget_h->{_message_box_w};
 #		$immodpg->{_message_upper_frame}        = $widget_h->{_message_upper_frame};
 #		$immodpg->{_message_lower_frame}        = $widget_h->{_message_lower_frame};
 #		$immodpg->{_message_label_w}            = $widget_h->{_message_label_w};
 #		$immodpg->{_message_box_wait}           = $widget_h->{_message_box_wait};
 #		$immodpg->{_message_ok_button}          = $widget_h->{_message_ok_button};

# print("immodpg, set_widgets, immodpg->{_message_box_w}: $immodpg->{_message_box_w}\n");
# print("immodpg, set_widgets, OK\n");

		return ();

	}
	else {
		print("immodpg, set_widgets, unexpected\n");
	}

}

=head2 sub set_base_file_name

=cut

sub set_base_file_name {

	my ( $self, $base_file_name ) = @_;

	if ( $base_file_name ne $empty_string ) {

		$immodpg->{_base_file_name} = $base_file_name;

		print("header_values,set_base_file_name,$immodpg->{_base_file_name}\n");

	}
	else {
		print("header_values,set_base_file_name, missing base file name\n");
	}

	return ();

}

=head2 sub set_change
verify another lock file does not exist and
only then:

create another lock file
while change file is written.
that revents fortran file from reading
Then delete lock file
Aavoids crash between asynchronous 
reading (fortran) and
writing (Perl) of files

=cut

sub set_change {

	my ( $self, $yes_or_no ) = @_;

	#	print("immodpg, set_change, yes_or_no:$yes_or_no\n");

	if ( defined($yes_or_no)
		&& $immodpg->{_change_file} ne $empty_string )
	{

=head2 instantiate classes

=cut

		my $files   = manage_files_by2->new();
		my $control = control->new();

=head2 Define local
variables

=cut		

		my @X;
		my $change = $immodpg->{_change_file};

		my $test            = $yes;
		my $outbound        = $IMMODPG_INVISIBLE . '/' . $change;
		my $outbound_locked = $outbound . '_locked';
		my $format          = $var_immodpg->{_format_string};

		my $count      = 0;
		my $max_counts = $var_immodpg->{_loop_limit};
		for (
			my $i = 0 ;
			( $test eq $yes ) and ( $count < $max_counts ) ;
			$i++
		  )
		{

			#			print("1. immodpg,set_change, in loop count=$count \n");

			if ( not( $files->does_file_exist( \$outbound_locked ) ) ) {

				$X[0] = $empty_string;
				$files->write_1col_aref( \@X, \$outbound_locked, \$format );

		 # print("immodpg, set_change, outbound_locked=$outbound_locked\n");
		 # print("immodpg, set_change, IMMODPG_INVISIBLE=$IMMODPG_INVISIBLE\n");



( run in 0.466 second using v1.01-cache-2.11-cpan-e1769b4cff6 )