App-SeismicUnixGui

 view release on metacpan or  search on metacpan

lib/App/SeismicUnixGui/misc/L_SU.pm  view on Meta::CPAN

				}
				else {
					print("L_SU, FileDialog, dialogs exist\n");
				}

			}
			else {
				print("L_SU, FileDialog_button, unexpected answer\n");
			}    # end of whether answers exists

		}
		else {
			print(
"CASE 0 L_SU, FileDialog_button, color to occupy (if vacant already) = $color \n"
			);
		}

	}
	else {
		#		print("L_SU,FileDialog_button, end of Open\n");
	}    # end all CASES 1 through 2.X

	if ( not $color ) {

		$color = _get_flow_color();

	}
	else {
	  # print("L_SU, FileDialog_button, Good, color already chosen: $color \n");
	  #			NADA
	}

	if (
		( $L_SU_gui->{_my_dialogs_ans4cancel} eq $no )

		&& ( $L_SU_gui->{_my_dialogs_ans4ok} eq $yes )
		&& $color
		&& (   $L_SU_href->{_is_flow_listbox_grey_w}
			|| $L_SU_href->{_is_flow_listbox_pink_w}
			|| $L_SU_href->{_is_flow_listbox_green_w}
			|| $L_SU_href->{_is_flow_listbox_blue_w}
			|| ( $L_SU_href->{_flow_type} eq 'user_built' && $color ) )
	  )
	{

	# CASES 3A-3D
	# General case of user-built flows in grey, pink, green or blue.
	#
	# = 'neutral', when flow listbox is not a color and sunix_select is selected
	# but add2flow_button has not been activated
	#
	# = nothing,  if chosen before a colored flow exists,
	# when coming from a user-built flow
	#
	# = neutral,  when superflow Data is chosen
##			$color_listbox->set_flow_listbox_color_reservation( _get_flow_color() );
##			my $reservation_color = $color_listbox->get_flow_listbox_color_reservation( );
		#
		if (   $L_SU_href->{_is_flow_listbox_grey_w}
			&& $color eq 'grey' )
		{    # for added certainty

			# CASE 3A
			# mark the neutral-colored flow as unused
			# helps bind flow parameters to the opening files

			$color_listbox->set_next_available_flow_listbox_color($color);
			my $which_color =
			  $color_listbox->get_next_available_flow_listbox_color();

#				print(
#               "CASE 3A L_SU, FileDialog_button, the next available listbox color is set as: $color\n"
#				);

#	            print("1.  L_SU,FileDialog_button, color is $L_SU_href->{_flow_color}\n");
#				print("CASE 3A 1.L_SU, FileDialog_button, $which_color will be occupied\n");

			# opens file and populates GUI
			$grey_flow->set_hash_ref($L_SU_href);
			$grey_flow->FileDialog_button($dialog_type_sref);
			$L_SU_href->{_flow_color} = $grey_flow->get_flow_color();
			my $Flow_file_exists = $grey_flow->get_Flow_file_exists();
			my $perl_flow_errors = $grey_flow->get_perl_flow_errors();

			if (   $Flow_file_exists
				&& $perl_flow_errors eq $false )
			{

				# only confirm occupation/vacancy AFTER  file is read into GUI
				# update any newly added listboxes for all case 3A
				$color_listbox->set_flow_listbox_color($color);
				$L_SU_gui->{_occupied_listbox_aref} =
				  $color_listbox->get_flow_listbox_occupancy_aref();
				$L_SU_gui->{_vacant_listbox_aref} =
				  $color_listbox->get_flow_listbox_vacancy_aref();

#					print(
#						"Successful read Case 3A L_SU,FileDialog_button, L_SU_gui->{_occupied_listbox_aref},@{$L_SU_gui->{_occupied_listbox_aref}}\n"
#					);
#					print(
#						"Successful read Case 3A L_SU,FileDialog_button, L_SU_gui->{_vacant_listbox_aref},@{$L_SU_gui->{_vacant_listbox_aref}}\n"
#					);
#
			}
			else {
		# if flow is not successful, occupied and vacant listbox need not be set
				$color_listbox->set_prior_available_flow_listbox_color($color);

#						print(
#						"Non-successful read Case 3A L_SU,FileDialog_button, L_SU_gui->{_occupied_listbox_aref},@{$L_SU_gui->{_occupied_listbox_aref}}\n"
#					);
#					print(
#						"Non-successful read Case 3A L_SU,FileDialog_button, L_SU_gui->{_vacant_listbox_aref},@{$L_SU_gui->{_vacant_listbox_aref}}\n"
#					);

			}

		}
		elsif ($L_SU_href->{_is_flow_listbox_pink_w}
			&& $color eq 'pink' )
		{    # for added certainty
			 # CASE 3B - pink flow box
			 # mark the neutral-colored flow as unused
			 # helps bind flow parameters to the opening files

			$color_listbox->set_next_available_flow_listbox_color($color);
			my $which_color =
			  $color_listbox->get_next_available_flow_listbox_color();

#				print("CASE 3B _SU, FileDialog_button, the next available listbox color is set as: $color\n");
#	print("1.  L_SU,FileDialog_button, color is $L_SU_href->{_flow_color}\n");
#				print("CASE 3B 1.L_SU,FileDialog_button, $which_color will be occupied\n");

			# opens file and populates GUI
			$pink_flow->set_hash_ref($L_SU_href);
			$pink_flow->FileDialog_button($dialog_type_sref);
			$L_SU_href->{_flow_color} = $pink_flow->get_flow_color();
			my $Flow_file_exists = $pink_flow->get_Flow_file_exists();
			my $perl_flow_errors = $pink_flow->get_perl_flow_errors();

			if (   $Flow_file_exists
				&& $perl_flow_errors eq $false )
			{
				#
				# only confirm occupation/vacancy AFTER  file is read into GUI
				# update any newly added listboxes for all case 3B
				$color_listbox->set_flow_listbox_color($color);

				$L_SU_gui->{_occupied_listbox_aref} =
				  $color_listbox->get_flow_listbox_occupancy_aref();
				$L_SU_gui->{_vacant_listbox_aref} =
				  $color_listbox->get_flow_listbox_vacancy_aref();

#					print(
#						"Successful read Case 3B L_SU,FileDialog_button, L_SU_gui->{_occupied_listbox_aref},@{$L_SU_gui->{_occupied_listbox_aref}}\n"
#					);
#					print(
#						"Successful read Case 3B L_SU,FileDialog_button, L_SU_gui->{_vacant_listbox_aref},@{$L_SU_gui->{_vacant_listbox_aref}}\n"
#					);

			}
			else {
		# if flow is not successful, occupied and vacant listbox need not be set
				$color_listbox->set_prior_available_flow_listbox_color(
					_get_flow_color() );

#					print(
#						"Non-successful read Case 3B L_SU,FileDialog_button, L_SU_gui->{_occupied_listbox_aref},@{$L_SU_gui->{_occupied_listbox_aref}}\n"
#					);
#					print(
#						"Non-successful read Case 3B L_SU,FileDialog_button, L_SU_gui->{_vacant_listbox_aref},@{$L_SU_gui->{_vacant_listbox_aref}}\n"
#					);

			}

		}
		elsif ($L_SU_href->{_is_flow_listbox_green_w}
			&& $color eq 'green' )
		{    # more certainty
			 # CASE 3C - green flow box
			 # mark the neutral-colored flow as unused
			 # helps bind flow parameters to the opening files

			$color_listbox->set_next_available_flow_listbox_color($color);
			my $which_color =
			  $color_listbox->get_next_available_flow_listbox_color();

#				print("CASE 3C L_SU, _SU, FileDialog_button, the next available listbox color is set as: $color\n");;
#	            print("1.  L_SU,FileDialog_button, color is $L_SU_href->{_flow_color}\n");
#				print("CASE 3C 1.L_SU,FileDialog_button, $which_color will be occupied\n");
#
# opens file and populates GUI
			$green_flow->set_hash_ref($L_SU_href);
			$green_flow->FileDialog_button($dialog_type_sref);
			$L_SU_href->{_flow_color} = $green_flow->get_flow_color();
			my $Flow_file_exists = $green_flow->get_Flow_file_exists();
			my $perl_flow_errors = $green_flow->get_perl_flow_errors();

			if (   $Flow_file_exists
				&& $perl_flow_errors eq $false )
			{

				# only confirm occupation/vacancy AFTER  file is read into GUI
				# update any newly added listboxes for all case 3C
				$color_listbox->set_flow_listbox_color($color);

				$L_SU_gui->{_occupied_listbox_aref} =
				  $color_listbox->get_flow_listbox_occupancy_aref();
				$L_SU_gui->{_vacant_listbox_aref} =
				  $color_listbox->get_flow_listbox_vacancy_aref();

#					print(
#						"Successful read  Case 3C L_SU,FileDialog_button, L_SU_gui->{_occupied_listbox_aref},@{$L_SU_gui->{_occupied_listbox_aref}}\n"
#					);
#					print(
#						"Successful read  Case 3C L_SU,FileDialog_button, L_SU_gui->{_vacant_listbox_aref},@{$L_SU_gui->{_vacant_listbox_aref}}\n"
#					);

			}
			else {
		# if flow is not successful, occupied and vacant listbox need not be set
				$color_listbox->set_prior_available_flow_listbox_color(
					_get_flow_color() );

#					print(
#						"Non-Successful read Case 3C L_SU,FileDialog_button, L_SU_gui->{_occupied_listbox_aref},@{$L_SU_gui->{_occupied_listbox_aref}}\n"
#					);
#					print(
#						"Non-Successful read Case 3C L_SU,FileDialog_button, L_SU_gui->{_vacant_listbox_aref},@{$L_SU_gui->{_vacant_listbox_aref}}\n"
#					);
			}

		}
		elsif ($L_SU_href->{_is_flow_listbox_blue_w}
			&& $color eq 'blue' )
		{    # more certainty
			 # CASE 3D - blue flow box
			 # mark the neutral-colored flow as unused
			 # helps bind flow parameters to the opening files

			$color_listbox->set_next_available_flow_listbox_color($color);
			my $which_color =
			  $color_listbox->get_next_available_flow_listbox_color();

#	print("CASE 3D L_SU, FileDialog_button, the next available listbox color is set as: $color\n");
#	print("1.  L_SU,FileDialog_button, color is $L_SU_href->{_flow_color}\n");
#   print("CASE 3D 1.L_SU,FileDialog_button, $which_color will be occupied\n");

			# opens file and populates GUI
			$blue_flow->set_hash_ref($L_SU_href);
			$blue_flow->FileDialog_button($dialog_type_sref);
			$L_SU_href->{_flow_color} = $blue_flow->get_flow_color();
			my $Flow_file_exists = $blue_flow->get_Flow_file_exists();
			my $perl_flow_errors = $blue_flow->get_perl_flow_errors();

			if (   $Flow_file_exists
				&& $perl_flow_errors eq $false )
			{

#	only confirm occupation / vacancy AFTER file is read into GUI update any newly added listboxes
#	for all case 3 D
				$color_listbox->set_flow_listbox_color($color);
				$L_SU_gui->{_occupied_listbox_aref} =
				  $color_listbox->get_flow_listbox_occupancy_aref();
				$L_SU_gui->{_vacant_listbox_aref} =
				  $color_listbox->get_flow_listbox_vacancy_aref();

#					print(
#						"Successful read  Case 3D L_SU,FileDialog_button, L_SU_gui->{_occupied_listbox_aref},@{$L_SU_gui->{_occupied_listbox_aref}}\n"
#					);
#					print(
#						"Successful read  Case 3D L_SU,FileDialog_button, L_SU_gui->{_vacant_listbox_aref},@{$L_SU_gui->{_vacant_listbox_aref}}\n"
#					);

			}
			else {
		# if flow is not successful, occupied and vacant listbox need not be set
				$color_listbox->set_prior_available_flow_listbox_color(
					_get_flow_color() );

#					print(
#						"Non-Successful read  Case 3D L_SU,FileDialog_button, L_SU_gui->{_occupied_listbox_aref},@{$L_SU_gui->{_occupied_listbox_aref}}\n"
#					);
#					print(
#						"Non-Successful read  Case 3D L_SU,FileDialog_button, L_SU_gui->{_vacant_listbox_aref},@{$L_SU_gui->{_vacant_listbox_aref}}\n"
#					);
			}

		}
		else {
			print("L_SU, FileDialog_button, unexpected missing settings \n");
		}

	}
	elsif ( $L_SU_href->{_flow_type} eq 'pre_built_superflow' ) {



( run in 2.346 seconds using v1.01-cache-2.11-cpan-7fcb06a456a )