The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

DOCUMENTATION

SYNOPSIS

 PERL PROGRAM NAME: L_SU.pl 
 AUTHOR:        Juan Lorenzo
 DATE:          June 22 2017 

 DESCRIPTION 
     

 BASED ON:
 Version 0.1 April 18 2017 SeismicUnixPlTk.pl  
     Added a simple configuration file readable 
        flow
    and writable using Config::Simple (CPAN)

 Version 0.2 
    incorporate more object oriented classes
   
 Update: Simple (ASCII) local configuration 
      file is Project_Variables.config
      
 V 0.2.0 Jan 12 2018: removed all Config::Simple dependencies   
 V 0.3.0 May 14, 2018: refactored into L_SU.pm and L_SU.pl
 
 Fall 2018
 V 0.3.1 makes Run = Save and Run
 Moves SaveAs to Main Menu and removes Save button
 
 V 0.3.2 has 4 flow panels
 
 V 0.3.3 has dragNdrop deactivated to stabilize version
 
 V 0.3.4 has classifies sunix programs using tabbed notebooks Sept. 12, 2018
 
 V0.3.7 removed all ticks from strings in GUIS using control module
     From now on users can write words with gaps and commas and L_SU will accept these
     value and formulate the correct Seismic Unix sytnax.
     
 V 0.3.8 STandardized format with PerlTidy, tidyviewer .perltidyrc Aug., 2019

USE

NOTES

Examples

SEISMIC UNIX NOTES

CHANGES and their DATES

Notes from bash

 share the following parameters in same name 
 space

 flow_listbox_grey_w   -left listbox, input by user selection
 flow_listbox_green_w  -right listbox,input by user selection
 sunix_listbox                  -choice of listed sunix modules in a listbox
 
 29 off, 4 off, 1 off

Default Tk settings{

 Create scoped hash 
 43 off

Main Window contains

 a top menu frame 
 a middle menu titles frame
 and a
 bottom  work_frame
 font is made to be arial normal 14
 border width is defaulted too

Define

  fonts to use in the menu

load images

Button bitmaps and pixmaps XXX_cartoon image is used to delete a seismic unix program from the flow

top menu frame

Contains: (1) top menus for superflows and (2) icons for (a) wiping plots

help goes to superflow bindings

Top menu frame icon wipe background plots enable from the start

Top title reminders for Selected flow and Superflow names

give user superflow names

to a tool_array for easier management bind MB3 to help my @who; my $this=0;

$who[$this] = $top_menu_bar->focusCurrent; print(" who is @who\n"); my $a =$top_menu_bar->bind(); print(" bind is @$a\n"); my $class = ref $top_menu_bar; print "Button \\$top_menu_bar is an instance of class '$class'.\n" . "This class has bindings for these events:\n\n"; print join("\n", $top_menu_bar->bind($class) ), "\n";

side menu frame

 contains side menus
 1. for files

side menu frame

 contains side menus
 2. for action 

top_titles frame

 above the work frame
 contains Titles only 
 button that moves items (program names) UP in a flow (color grey, pink, green or blue);
 up within a listbox
 button that moves items (program names) DOWN in a flow (color grey, pink, green or blue);
 down within a listbox

Listbox widgets

tied to button action for easier management

work frame

 has menu items to its left
 contains a sunix_frame at its top, 
 a parameters_pane (with names value buttons and values) in the middle left
 and four listboxes contained in a module-sequences frame on the middle right
 and a message text area across the whole bottom
 

sunix_frame

  The sunix_frame itself contains five stories
  sub-frames called sunix_frame_I through and sunix_frame_V
  (levels 1 through 5)
 

Notebooks within sunix_frame_V (top row)

Notebooks within sunix_frame_IV (top row)

Notebooks within sunix_frame_III (top row)

Notebooks within sunix_frame_II (top row )

Notebooks within sunix_frame_I (bottom row )

Notebooks within sunix_frame_I (bottom row )

tied listbox widgets

  to a tool_array
  for easier management
  
  This binding occurs inside L_SU.pm

parameter_titles label

 immediteley above the parameters frame
 both of which are contained in the work frame
 contains Titles only 

parameters frame

 Parameters from
 Tools and Su Modules

input frame

 Contains, left-to-right:

 a parameter_names_frame 
 a stack of radio buttons 
 and a values_frame  

 Choose whether to ignore/deactivate or apply
 the parameter-value pairs later on

 To solicit and modify
 possibly existing
 parameter value input
 
 N.B. widths are controlled within label_box.pm and value_box.pm

message area

      to notify user of important events 

workflow_control_frame

 on far right of work frame
 contains scrolled flow listboxes

workflow_control_frame

 two vertically stacked frames 
 each holding two 'Fs

workflow_control_frame

 includes flow names

tied flow listbox widgets

  to a tool_array
  for easier management
  
  # could also be done in L_SU.pm/param_widgets

Packing Frame widget contianed within main menu frame

prepare

 34 to export hash ref

sub _L_SU_bindings_shell

 for any plot(s) in the background

sub _L_SU_flow_bindings # used for sunix_listbox help # also for flow-item selection calls L_SU->user_built_flows

sub _L_SU_flow_bindings_any_color

 for any colored flow

sub _L_SU_superflow_bindings

redirect user selections to L_SU.pm for the case of: superflows and mouse-button bindings

sub _L_SU

 invoke a method in L_SU from a button click

sub _L_SU_flows

  e.g., can call add2flow_button

sub _set_prog_group

3 POD Errors

The following errors were encountered while parsing the POD:

Around line 422:

=pod directives shouldn't be over one line long! Ignoring all 5 lines of content

Around line 1658:

=pod directives shouldn't be over one line long! Ignoring all 6 lines of content

Around line 2188:

Unknown directive: =head2sub