DOCUMENTATION

SYNOPSIS

PERL PERL PROGRAM NAME: run_button.pm
AUTHOR: 	Juan Lorenzo
DATE: 		May 16 2018 

DESCRIPTION 
    
BASED ON:

previous version (V 0.2) of the main L_SU.pl (V 0.3)
 

USE

NOTES

Examples

CHANGES and their DATES refactoring of 2017 version of L_SU.pl

 TODO: Encapsulate better
 
  gets from
  	$decisions
  	$run_button
  sets
  	$pre_req_ok
  	
  calls 
	$gui_history		->set4run_button_start();
	$gui_history		->set4run_button();     
	$decisions		      	->set4run_select($run_button);
	$gui_history		->set4run_button_end();
	$whereami				->in_gui();
	message box: 			$message
	$run_button 			= $gui_history->get_hash_ref();	
	

Notes from bash

declare variables

8 off

sub _messages Show warnings or errors in a message box Message box is defined in main where it is also made invisible (withdraw) Here we turn on the message box (deiconify, raise) The message does not release the program until OK is clicked and wait variable changes from yes to no.

_Run_pre_built_superflow

	only useful for saved superflow configuration files
	
	decisions.pm tests:
	_has_used_SaveAs_file_button
	_has_used_Save_button

   	  foreach my $key (sort keys %$run_button) {
          print (" run_button,_Run_pre_built_superflow: key is $key, value is $run_button->{$key}\n");
         }
	

sub _Run_user_built_flow for saved regular flows

		  foreach my $key (sort keys %$run_button) {
           print (" run_button,_Run_pre_built_superflow: key is $key, value is $run_button->{$key}\n");
          }	

sub _get_flow_type

user_built_flow
or
pre_built_superflow

sub director

prior to running
determine if we are dealing with superflow 
(" menubutton" widget)   
- collect and/or access flow parameters

Analysis:

i/p: $parameter_values_frame
i/p: $run_button_messages
i/p: $message
i/p: $param_flow
i/p: $run_button
i/p: $config_superflows

# o/p: $conditions_gui ->set4start_of_run_button(); # o/p: $gui_history ->set4_run_button # o/p: $gui_history ->set4end_of_run_button(); $run_button = $gui_history->get_hash_ref(); o/p: _check4changes();

o/p: $run_button
o/p: $files_LSU

Run can be of 2 types

dialog type can only be Run  (Main menu)


i.e. 'either'

or
	Run (perl program of user-built flow
or	
	Run pre-built superflow configuration files
	my $run_dialog_type		= $file_dialog_type->{_Run} ;

sub get_all_hash_ref

return ALL values of the private hash, supposedly
improtant external widgets have not been reset.. only conditions
are reset
TODO: perhaps it is better to have a specific method
	to return one specific widget address at a time?
}

sub set_flow_type

user_built_flow
or
pre_built_superflow

sub set_hash_ref bring in important widget addresses

sub set_flow_name_out

user-built flow name

sub set_prog_name_sref

in order to know what
_spec file to read for
behaviors
THis program has a pre-existing module