PERL PROGRAM NAME: L_SUV0.81.4.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 0 Fall 2018 V 0.3.1 makes Run = Save and Run Moves SaveAs to L_SU 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 V 0.3.9 Introduce Moose attributes to record real-time GUI history V 0.4.5 Include PDL packages to handle interactive modeling and reading fortran-generated files V 0.5.0 new color_listbox class handles occupancy and vacancies among the listboxes March 2021 V0.5.1 delete_whole_flow_button, April 9, 2021 V0.6.6 September 4, 2021 V0.80.00 September 19, 2022 ready for initial uploading to the CPAN
flow_listbox_color_w -listbox, input by user selection sunix_listbox -choice from listed sunix modules in a listbox flow_types: 'user_built flow' and 'pre_built_superflow'
L_SU 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 gui focus automatically changes to where mouse is located classes may require Main window widget to display error messages
The Main window is needed for messages in subclasses because we can easily control to location of the message widgets from the main program
fonts to use in the menu
is withdrawn temporarily while filling with widgets. Dialog box is iconified in subclasses. A Toplevel widget is required to define geometry.
Contains: (1) top menus for superflows and (2) icons for (a) wiping plots
MB3 goes to superflow bindings
Advice for installation of software
$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";
contains side menus 1. for files
contains side menus 2. for action
above the work frame contains Titles only
(program names) UP in a flow (color grey, pink, green or blue); up within a listbox
DOWN in a flow (color grey, pink, green or blue); down within a listbox
tied to button action for easier management
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
The sunix_frame itself contains five stories sub-frames called sunix_frame_I through and sunix_frame_V (levels 1 through 5)
within sunix_frame_V (top row)
within sunix_frame_IV (top row)
sunix_frame_III (top row)
sunix_frame_II (top row)
sunix_frame_I (bottom row)
sunix_frame_I (bottom row )
to a tool_array for easier management This binding occurs inside L_SU.pm and NOT within the current program
immediteley above the parameters frame both of which are contained in the work frame contains Titles only
Parameters from Tools and Su Modules
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
to notify user of important events
on far right of work frame contains scrolled flow listboxes
two vertically stacked frames each holding two 'Fs
Includes flow names
to a tool_array for easier management
Upper frame contains my message. Lower frame contains an 'ok' and a 'cancel' button.
Upper frame contains message. Lower frame contains ok button.
contained within L_SU menu frame
For help in pre-built superflows and for get_help in user-built listbox flows
color not needed but $self is needed
for any plot(s) in the background
used for sunix_listbox get_help (MB3) sunix_select (MB1) method='sunix_select' color='neutral'
used for: sunix_listbox get_help (MB3) flow-item selection ('flow_select') (MB1)
Main L_SU, user_built_flows color_flow, flow_select
N.B. flow_select is activated both here and independently within gui_history by set_button
for any colored flow use to delete an item from a flow 'delete_from_flow_button' used to move up and down a list of flow items 'flow_item_up_arrow_button' 'flow_item_down_arrow_button' 'delete_whole_flow_button'
Redirect user selections to L_SU.pm for the case of: Help for superflows (mouse-button 3 bindings)
Invoke a method in L_SU from a button click in L_SU -save_button -run_button -FileDialog_button with one of 3 possible values: 'Open', 'SaveAs' possible values: 'Delete'
-help_menubutton with possible value: About
e.g., can call add2flow_button
Select pre-built streams or Tools
3 POD Errors
The following errors were encountered while parsing the POD:
=pod directives shouldn't be over one line long! Ignoring all 5 lines of content
=pod directives shouldn't be over one line long! Ignoring all 6 lines of content
=pod directives shouldn't be over one line long! Ignoring all 7 lines of content
To install App::SeismicUnixGui, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::SeismicUnixGui
CPAN shell
perl -MCPAN -e shell install App::SeismicUnixGui
For more information on module installation, please visit the detailed CPAN module installation guide.