App-SeismicUnixGui
view release on metacpan or search on metacpan
lib/App/SeismicUnixGui/misc/file_dialog.pm view on Meta::CPAN
}
=head2 _big_stream_Home
=cut
sub _big_stream_Home {
my ($self) = @_;
my $param_widgets = param_widgets4pre_built_streams->new();
my $whereami = whereami->new();
my $default_param_specs = $L_SU_global_constants->param();
my $first_idx = $default_param_specs->{_first_entry_idx};
my $length = $default_param_specs->{_length};
$gui_history->set_hash_ref($file_dialog);
$gui_history->set4FileDialog_open_start();
$gui_history->set4superflow_open_path_start();
$file_dialog = $gui_history->get_hash_ref();
# If an appropriate Entry widget is first selected,
# Find out which entry button has been chosen (index)
# Confirm that it IS the file button
# print("file_dialog,_big_stream_Home,_FileDialog_button pressed, \n");
# print("file_dialog, _big_stream_Home selected _values_aref=@{$file_dialog->{_values_aref}}\n");
# print("file_dialog, _big_stream_Home selected _values_aref=@{$file_dialog->{_names_aref}}\n");
# print("file_dialog _big_stream_Home selected parameter_values_frame = $file_dialog->{_parameter_values_frame} \n");
my $widget_type =
$whereami->widget_type( $file_dialog->{_parameter_values_frame} );
# print("file_dialog _big_stream_Home selected widget type is = $widget_type \n");
if ( $widget_type eq 'Entry' ) {
# print("1. file_dialog,_big_stream_Home, selected widget_type=$widget_type \n");
my $selected_Entry_widget =
$file_dialog->{_parameter_values_frame}->focusCurrent;
$param_widgets->set_entry_button_chosen_widget($selected_Entry_widget);
# Need to set the length and first_idx or, $param-widgets->set_length($file_dialog_length);
# print("file_dialog,_big_stream_Home,selection_Entry_widget HASH = $selected_Entry_widget\n");
# print("file_dialog,_big_stream_Home, parameter_value_index= $file_dialog->{_parameter_value_index}\n");
$param_widgets->set_first_idx($first_idx);
$param_widgets->set_length($length);
# print("2. file_dialog _big_stream_Home, selected_Entry_widget: $selected_Entry_widget\n");
$file_dialog->{_parameter_value_index} =
$param_widgets->get_entry_button_chosen_index();
# print("file_dialog,_big_stream_Home,selection_Entry_widget HASH = $selected_Entry_widget\n");
# print("file_dialog,_big_stream_Home, parameter_value_index= $file_dialog->{_parameter_value_index}\n");
if ( $file_dialog->{_parameter_value_index} >= 0 )
{ # for additional certainty; but is it needed?
# print("4. file_dialog,ig_stream_last_dir_in_path, parameter_value_index= $file_dialog->{_parameter_value_index}\n");
$file_dialog->{_entry_button_label} =
$param_widgets->get_label4entry_button_chosen();
# print("5. file_dialog,_big_stream_Home,entry_button_label = $file_dialog->{_entry_button_label}\n");
# use iFileuse aliased 'determine the Path stored in the current configuration file
$iFile->set_entry($file_dialog); # selected entry label
$iFile->set_flow_type_h($file_dialog); # a pre-built superflow
$iFile->set_parameter_value_index($file_dialog); # e.g., 0
$iFile->set_values_aref($file_dialog); # e.g., /home/gom/
$iFile->set_prog_name_sref($file_dialog); # e.g., Project_config
$file_dialog->{_path} = $iFile->get_Path();
# print("1.file_dialog,_pre-built_superflow_path, PATH: $file_dialog->{_path} \n");
# print("1.file_dialog,ig_stream_last_dir_in_path, _values_aref: @{$file_dialog->{_values_aref}}[0]\n");
_FileDialog(); # open file dialog mega-widget
# print("2.file_dialog,_pre-built_superflow_path, last_path_touched: $file_dialog->{_last_path_touched} \n");
_big_stream_Home_close();
# print("2.file_dialog,ig_stream_last_dir_in_path, _values_aref: @{$file_dialog->{_values_aref}}[0]\n");
# my $length= scalar @{$file_dialog->{_values_aref}}; # 61 values
# for (my $i=0; $i < $length; $i++) {
# print("3.file_dialog,ig_stream_last_dir_in_path, _values_aref: @{$file_dialog->{_values_aref}}[$i]\n");
# }
}
}
elsif ( $widget_type eq 'MainWindow' ) { # opening a random file
# print("file_dialog,_big_stream_Home widget type is 'MainWindow' \n");
my $message = $file_dialog->{_message_w}->FileDialog_button(0);
$file_dialog->{_message_w}->delete( "1.0", 'end' );
$file_dialog->{_message_w}->insert( 'end', $message );
}
else {
print(
"file_dialog,big_stream_last_dir_in_path, no widget type selected \n"
);
}
}
=head2 _big_stream_last_dir_in_path
=cut
sub _big_stream_last_dir_in_path {
my ($self) = @_;
my $param_widgets = param_widgets4pre_built_streams->new();
my $whereami = whereami->new();
my $default_param_specs = $L_SU_global_constants->param();
my $first_idx = $default_param_specs->{_first_entry_idx};
my $length = $default_param_specs->{_length};
$gui_history->set_hash_ref($file_dialog);
$gui_history->set4FileDialog_open_start();
$gui_history->set4superflow_open_path_start();
$file_dialog = $gui_history->get_hash_ref();
# If an appropriate Entry widget is first selected,
# Find out which entry button has been chosen (index)
# Confirm that it IS the file button
# print("file_dialog,_big_stream_last_dir_in_path,_FileDialog_button pressed, \n");
# print("file_dialog, _big_stream_last_dir_in_path selected _values_aref=@{$file_dialog->{_values_aref}}\n");
# print("file_dialog, _big_stream_last_dir_in_path selected _values_aref=@{$file_dialog->{_names_aref}}\n");
# print("file_dialog _big_stream_last_dir_in_path selected parameter_values_frame = $file_dialog->{_parameter_values_frame} \n");
my $widget_type =
$whereami->widget_type( $file_dialog->{_parameter_values_frame} );
# print("file_dialog _big_stream_last_dir_in_path selected widget type is = $widget_type \n");
if ( $widget_type eq 'Entry' ) {
# print("1. file_dialog,_big_stream_last_dir_in_path, selected widget_type=$widget_type \n");
my $selected_Entry_widget =
$file_dialog->{_parameter_values_frame}->focusCurrent;
$param_widgets->set_entry_button_chosen_widget($selected_Entry_widget);
# Need to set the length and first_idx or, $param-widgets->set_length($file_dialog_length);
# print("file_dialog,_big_stream_last_dir_in_path,selection_Entry_widget HASH = $selected_Entry_widget\n");
# print("file_dialog,_big_stream_last_dir_in_path, parameter_value_index= $file_dialog->{_parameter_value_index}\n");
$param_widgets->set_first_idx($first_idx);
$param_widgets->set_length($length);
# print("2. file_dialog _big_stream_last_dir_in_path, selected_Entry_widget: $selected_Entry_widget\n");
$file_dialog->{_parameter_value_index} =
$param_widgets->get_entry_button_chosen_index();
# print("file_dialog,_big_stream_last_dir_in_path,selection_Entry_widget HASH = $selected_Entry_widget\n");
# print("file_dialog,_big_stream_last_dir_in_path, parameter_value_index= $file_dialog->{_parameter_value_index}\n");
if ( $file_dialog->{_parameter_value_index} >= 0 )
{ # for additional certainty; but is it needed?
# print("4. file_dialog,ig_stream_last_dir_in_path, parameter_value_index= $file_dialog->{_parameter_value_index}\n");
$file_dialog->{_entry_button_label} =
$param_widgets->get_label4entry_button_chosen();
# print("5. file_dialog,_big_stream_last_dir_in_path,entry_button_label = $file_dialog->{_entry_button_label}\n");
# use iFileuse aliased 'determine the Path stored in the current configuration file
$iFile->set_entry($file_dialog); # selected entry label
$iFile->set_flow_type_h($file_dialog); # a pre-built superflow
$iFile->set_parameter_value_index($file_dialog); # e.g., 0
$iFile->set_values_aref($file_dialog); # e.g., /home/gom/
$iFile->set_prog_name_sref($file_dialog); # e.g., Project_config
$file_dialog->{_path} = $iFile->get_Path();
# print("1.file_dialog,_pre-built_superflow_path, PATH: $file_dialog->{_path} \n");
# print("1.file_dialog,ig_stream_last_dir_in_path, _values_aref: @{$file_dialog->{_values_aref}}[0]\n");
_FileDialog(); # open file dialog mega-widget
# print("2.file_dialog,_pre-built_superflow_path, last_path_touched: $file_dialog->{_last_path_touched} \n");
_big_stream_last_dir_in_path_close();
# print("2.file_dialog,ig_stream_last_dir_in_path, _values_aref: @{$file_dialog->{_values_aref}}[0]\n");
# my $length= scalar @{$file_dialog->{_values_aref}}; # 61 values
# for (my $i=0; $i < $length; $i++) {
# print("3.file_dialog,ig_stream_last_dir_in_path, _values_aref: @{$file_dialog->{_values_aref}}[$i]\n");
# }
}
}
elsif ( $widget_type eq 'MainWindow' ) { # opening a random file
# print("file_dialog,_big_stream_last_dir_in_path widget type is 'MainWindow' \n");
my $message = $file_dialog->{_message_w}->FileDialog_button(0);
$file_dialog->{_message_w}->delete( "1.0", 'end' );
$file_dialog->{_message_w}->insert( 'end', $message );
}
else {
print(
"file_dialog,big_stream_last_dir_in_path, no widget type selected \n"
);
}
}
=head2 sub _big_stream_Home_close
re-organizing the display after a directory (path) is selected
TODO: CASE of opening a pre-existing superflow configuration file
or previously scripted flow by this GUI
BEFORE or While the menubutton OR Frame are selected
=cut
sub _big_stream_Home_close {
lib/App/SeismicUnixGui/misc/file_dialog.pm view on Meta::CPAN
}
=cut
sub _pre_built_superflow_open_data_file {
my ($self) = @_;
# print("file_dialog, _pre_built_superflow_open_data_file\n ");
my $param_widgets = param_widgets4pre_built_streams->new();
my $whereami = whereami->new();
my $default_param_specs = $L_SU_global_constants->param();
my $first_idx = $default_param_specs->{_first_entry_idx};
my $length = $default_param_specs->{_length};
# e.g., Data_Pl_SEISMIC, Data_SEISMIC_TXT, Data, Path, Open, Delete etc.
my $topic = _get_dialog_type();
$gui_history->set_hash_ref($file_dialog);
$gui_history->set4FileDialog_open_start();
$gui_history->set4superflow_open_data_file_start();
$file_dialog = $gui_history->get_hash_ref();
# Tests follow:
# 1. if an appropriate entry widget is first selected, ie. Entry
# 2. get index of entry button pressed
# 3. find out which entry button has been chosen
# 4. confirm that it IS the file button
# TODO: determine the required file type and file path
# TODO: from the *_spec.pm file for the particular program in the flow.
# print("file_dialog,_pre_built_superflow_open_data_file,_FileDialog_button pressed, \n");
# print("file_dialog, _pre_built_superflow_open_data_file selected _values_aref=@{$file_dialog->{_values_aref}}\n");
# print("file_dialog _pre_built_superflow_open_data_file selected parameter_values_frame = $file_dialog->{_parameter_values_frame} \n");
my $widget_type =
$whereami->widget_type( $file_dialog->{_parameter_values_frame} );
# print("file_dialog _pre_built_superflow_open_data_file selected widget type is = $widget_type \n");
if ( $widget_type eq 'Entry' ) {
# print("1. file_dialog,_pre_built_superflow_open_data_file, selected widget_type=$widget_type \n");
my $selected_Entry_widget =
$file_dialog->{_parameter_values_frame}->focusCurrent;
$param_widgets->set_entry_button_chosen_widget($selected_Entry_widget);
# Need to set the length and first_idx or, $param-widgets->set_length($file_dialog_length);
$param_widgets->set_first_idx($first_idx);
$param_widgets->set_length($length);
# print("2. file_dialog, _pre_built_superflow_open_data_file, selected_Entry_widget: $selected_Entry_widget\n");
$file_dialog->{_parameter_value_index} =
$param_widgets->get_entry_button_chosen_index();
# print("file_dialog,_pre_built_superflow_open_data_file,selection_Entry_widget HASH = $selected_Entry_widget\n");
# print("file_dialog,_pre_built_superflow_open_data_file, parameter_value_index= $file_dialog->{_parameter_value_index}\n");
if ( $file_dialog->{_parameter_value_index} >= 0 )
{ # for additional certainty; but is it needed?
# e.g. Data_Pl_SEISMIC, Data_SEISMIC_TXT, Data, Path, Open, Delete etc.
my $topic = _get_dialog_type();
# print(
# "4. file_dialog,_pre_built_flow_open_data_file, parameter_value_index= $file_dialog->{_parameter_value_index}\n"
# );
$file_dialog->{_entry_button_label} =
$param_widgets->get_label4entry_button_chosen();
# print(
# "5. file_dialog,_pre_built_superflow_open_data_file,entry_button_label = $file_dialog->{_entry_button_label}\n"
# );
# use iFile to determine the correct data path (directory)
$iFile->set_entry($file_dialog)
; # first entry label should be base_file_name
$iFile->set_flow_type_h($file_dialog)
; # pre-built superflow will determine the DIR to find data
$iFile->set_values_aref($file_dialog)
; # may not be needed ( only for user-built_flows) TODO
$iFile->set_prog_name_sref($file_dialog);
$iFile->set_dialog_type($topic);
$iFile->set_parameter_value_index($file_dialog);
$file_dialog->{_path} = $iFile->get_Data_path();
#print("1.file_dialog,_pre-built_superflow_open_data_file, PATH: $file_dialog->{_path} \n");
#print(
# "1.file_dialog,_pre-built_superflow_open_data_file, _values_aref: @{$file_dialog->{_values_aref}}[0]\n"
# );
_FileDialog();
# print("2.file_dialog,_pre-built_superflow_open_data_file, _values_aref: @{$file_dialog->{_values_aref}}[0]\n");
_pre_built_superflow_close_data_file();
# print("2.file_dialog,_pre-built_superflow_open_data_file, _values_aref: @{$file_dialog->{_values_aref}}[0]\n");
# my $length= scalar @{$file_dialog->{_values_aref}}; # 61 values
# for (my $i=0; $i < $length; $i++) {
# print("3.file_dialog,_pre-built_superflow_open_data_file, _values_aref: @{$file_dialog->{_values_aref}}[$i]\n");
# }
}
}
elsif ( $widget_type eq 'MainWindow' ) { # opening a random file
# print("file_dialog,_pre_built_superflow_open_data_file widget type is 'MainWindow' \n");
my $message = $file_dialog->{_message_w}->FileDialog_button(0);
$file_dialog->{_message_w}->delete( "1.0", 'end' );
$file_dialog->{_message_w}->insert( 'end', $message );
}
else {
print(
"file_dialog,_pre-built_superflow_open_data_file no widget type selected \n"
);
}
$gui_history->set4superflow_open_data_file_end();
$gui_history->set4FileDialog_open_end();
lib/App/SeismicUnixGui/misc/file_dialog.pm view on Meta::CPAN
a directory path
=cut
sub _pre_built_superflow_open_path {
my ($self) = @_;
# print ("file_dialog, _pre_built_superflow_open_path\n ");
my $param_widgets = param_widgets4pre_built_streams->new();
my $whereami = whereami->new();
my $default_param_specs = $L_SU_global_constants->param();
my $first_idx = $default_param_specs->{_first_entry_idx};
my $length = $default_param_specs->{_length};
$gui_history->set_hash_ref($file_dialog);
$gui_history->set4FileDialog_open_start();
$gui_history->set4superflow_open_path_start();
$file_dialog = $gui_history->get_hash_ref(); # gets 93
# If an appropriate Entry widget is first selected,
# Find out which entry button has been chosen (index)
# Confirm that it IS the file button
# print("file_dialog,_pre_built_superflow_open_path,_FileDialog_button pressed, \n");
# print("file_dialog, _pre_built_superflow_open_path selected _values_aref=@{$file_dialog->{_values_aref}}\n");
# print("file_dialog, _pre_built_superflow_open_path selected _values_aref=@{$file_dialog->{_names_aref}}\n");
# print("file_dialog _pre_built_superflow_open_path selected parameter_values_frame = $file_dialog->{_parameter_values_frame} \n");
my $widget_type =
$whereami->widget_type( $file_dialog->{_parameter_values_frame} );
# print("file_dialog _pre_built_superflow_open_path selected widget type is = $widget_type \n");
if ( $widget_type eq 'Entry' ) {
# print("1. file_dialog,_pre_built_superflow_open_path, selected widget_type=$widget_type \n");
my $selected_Entry_widget =
$file_dialog->{_parameter_values_frame}->focusCurrent;
$param_widgets->set_entry_button_chosen_widget($selected_Entry_widget);
# Need to set the length and first_idx or, $param-widgets->set_length($file_dialog_length);
# print("file_dialog,_pre_built_superflow_open_path,selection_Entry_widget HASH = $selected_Entry_widget\n");
# print("file_dialog,_pre_built_superflow_open_path, parameter_value_index= $file_dialog->{_parameter_value_index}\n");
$param_widgets->set_first_idx($first_idx);
$param_widgets->set_length($length);
# print("2. file_dialog _pre_built_superflow_open_path, selected_Entry_widget: $selected_Entry_widget\n");
$file_dialog->{_parameter_value_index} =
$param_widgets->get_entry_button_chosen_index();
# print("file_dialog,_pre_built_superflow_open_path,selection_Entry_widget HASH = $selected_Entry_widget\n");
# print("file_dialog,_pre_built_superflow_open_path, parameter_value_index= $file_dialog->{_parameter_value_index}\n");
if ( $file_dialog->{_parameter_value_index} >= 0 )
{ # for additional certainty; but is it needed?
# print("4. file_dialog,_pre_built_flow_path, parameter_value_index= $file_dialog->{_parameter_value_index}\n");
$file_dialog->{_entry_button_label} =
$param_widgets->get_label4entry_button_chosen();
# print("5. file_dialog,_pre_built_superflow_open_path,entry_button_label = $file_dialog->{_entry_button_label}\n");
# use iFile to determine the stored Path in the current configuration file
$iFile->set_entry($file_dialog); # selected entry label
$iFile->set_flow_type_h($file_dialog); # a pre-built superflow
$iFile->set_parameter_value_index($file_dialog); # e.g., 0
$iFile->set_values_aref($file_dialog); # e.g., /home/gom/
$iFile->set_prog_name_sref($file_dialog); # e.g., Project_config
$file_dialog->{_path} = $iFile->get_Path();
$control->set_path( $file_dialog->{_path} );
$file_dialog->{_path} = $control->get_path_wo_last_slash();
# print("2.file_dialog,_pre-built_superflow_path, PATH: $file_dialog->{_path} \n");
# print("1.file_dialog,_pre-built_superflow_path, _values_aref: @{$file_dialog->{_values_aref}}[0]\n");
_FileDialog(); # open file dialog mega-widget
# print("2.file_dialog,_pre-built_superflow_path, last_path_touched: $file_dialog->{_last_path_touched} \n");
_pre_built_superflow_close_path();
# print("2.file_dialog,_pre-built_superflow_path, _values_aref: @{$file_dialog->{_values_aref}}[0]\n");
# my $length= scalar @{$file_dialog->{_values_aref}}; # 61 values
# for (my $i=0; $i < $length; $i++) {
# print("3.file_dialog,_pre-built_superflow_path, _values_aref: @{$file_dialog->{_values_aref}}[$i]\n");
# }
}
}
elsif ( $widget_type eq 'MainWindow' ) { # opening a random file
# print("file_dialog,_pre_built_superflow_open_path widget type is 'MainWindow' \n");
my $message = $file_dialog->{_message_w}->FileDialog_button(0);
$file_dialog->{_message_w}->delete( "1.0", 'end' );
$file_dialog->{_message_w}->insert( 'end', $message );
}
else {
print(
"file_dialog,_pre-built_superflow_path no widget type selected \n");
}
$gui_history->set4superflow_open_path_end();
$gui_history->set4FileDialog_open_end(); # 2 set
$file_dialog = $gui_history->get_hash_ref(); # retrieves 93
}
=head2 sub _set_FileDialog2user_built_flow
{_Data} ... open pre-existing data file
{_Open} ... open pre-existing user-built flow
{_SaveAs} ... save a new user-built flow
{_Save} ... re-save a user-built flow
{_Delete} ... delete a user-built flow, but any file can be removed
=cut
lib/App/SeismicUnixGui/misc/file_dialog.pm view on Meta::CPAN
# );
return ($false);
}
}
else {
# print("file_dialog,_user_built_flow_close_perl_file, flow_name_in: full path name missing\n");
return ($empty_string);
}
}
=head2 sub _user_built_flow_open_data_file
seen in the GUI as "File/Data"
opens data sets for a user_built_flow
aka Data
Select is for pre-existing Data Sets
Then updates the GUI param widgets
The updated param values should be saved the next time that the flow is selected
TODO make sure that when a differently-colored flow is selected the updated widgets
are stored
foreach my $key (sort keys %$file_dialog) {
print (" file_dialog,key is $key, value is $file_dialog->{$key}\n");
}
=cut
sub _user_built_flow_open_data_file {
my ($self) = @_;
my $param_widgets = param_widgets->new();
my $whereami = whereami->new();
my $default_param_specs = $L_SU_global_constants->param();
my $first_idx = $default_param_specs->{_first_entry_idx};
my $length = $default_param_specs->{_length};
# print ("1. file_dialog,_user_built_flow_open_data_file, is_last_parameter_index_touched_color: $file_dialog->{_is_last_parameter_index_touched_color} \n");
# print ("1. file_dialog,_user_built_flow_open_data_file, is_last_flow_index_touched: $file_dialog->{_is_last_flow_index_touched} \n");
# print (" 2. file_dialog,_user_built_flow_open_data_file->{_is_parameter_listbox_grey_w}: $file_dialog->{_is_parameter_listbox_grey_w}\n");
# print (" 2. file_dialog,_user_built_flow_open_data_file->{_last_parameter_index_touched_color}: $file_dialog->{_last_parameter_index_touched_color}\n");
$gui_history->set_hash_ref($file_dialog);
$gui_history->set4FileDialog_open_start();
$file_dialog = $gui_history->get_hash_ref();
# if an appropriate entry widget is first selected, i.e., Entry
# get index of entry button pressed
# find out which entry button has been chosen
# confirm that it IS the file button
# TODO determine the required file type and file path
# TODO from the *_spec.pm file for the particular program in the flow.
$user_built_flow_open_data_widget_type =
$whereami->widget_type( $file_dialog->{_parameter_values_frame} );
if ( $user_built_flow_open_data_widget_type eq 'Entry' )
{ # for extra certainty
# print("1. file_dialog,_user_built_flow_open_data_file, selected widget_type=$user_built_flow_open_data_widget_type \n");
$user_built_flow_open_data_selected_Entry_widget =
$file_dialog->{_parameter_values_frame}->focusCurrent;
$param_widgets->set_entry_button_chosen_widget(
$user_built_flow_open_data_selected_Entry_widget);
# Need to set the length and first_idx
$param_widgets->set_first_idx($first_idx);
$param_widgets->set_length($length);
# print("2. file_dialog _user_built_flow_open_data_file, selected_Entry_widget: $user_built_flow_open_data_selected_Entry_widget\n");
$user_built_flow_open_data_parameter_value_index =
$param_widgets->get_entry_button_chosen_index();
$file_dialog->{_parameter_value_index} =
$user_built_flow_open_data_parameter_value_index;
my $index = $user_built_flow_open_data_parameter_value_index;
# print("file_dialog,_user_built_flow_open_data_file,selection_Entry_widget HASH = $selected_Entry_widget\n");
# print("file_dialog,_user_built_flow_open_data_file, parameter_value_index= $file_dialog->{_parameter_value_index}\n");
if ( $index >= 0 ) { # also for additional certainty
# e.g. Data_Pl_SEISMIC, Data, Path, Open, Delete, etc.
my $topic = _get_dialog_type();
# print(
# "4. file_dialog,_user_built_flow_open_data_file, parameter_value_index= $index\n"
# );
$file_dialog->{_entry_button_label} =
$param_widgets->get_label4entry_button_chosen();
# print("5. file_dialog,_user_built_flow_open_data_file,entry_button_label = $file_dialog->{_entry_button_label}\n");
# use iFile to determine the correct data path (directory )
$iFile->set_entry($file_dialog);
$iFile->set_parameter_value_index($file_dialog);
$iFile->set_flow_type_h($file_dialog); # user_built
$iFile->set_dialog_type($topic);
$iFile->set_values_aref($file_dialog)
; # will determine the DIR based on type of data set
$iFile->set_prog_name_sref($file_dialog);
$file_dialog->{_path} = $iFile->get_Data_path();
# print("5A. file_dialog,_user_built_flow_open_data_file $file_dialog->{_path}\n");
# collects the name of the data file to be opened
_FileDialog();
_user_built_flow_close_data_file();
# print("6. file_dialog,_user_built_flow_open_data_file End\n");
}
}
elsif ( $user_built_flow_open_data_widget_type eq 'MainWindow' )
{ # opening a random file
# print("file_dialog,_user_built_flow_open_data_file widget type is 'MainWindow' \n");
my $message = $file_dialog->{_message_w}->FileDialog_button(0);
$file_dialog->{_message_w}->delete( "1.0", 'end' );
$file_dialog->{_message_w}->insert( 'end', $message );
}
else {
print(
"file_dialog,_user_built_flow_open_data_file no widget type selected \n"
);
}
$gui_history->set4FileDialog_open_end();
}
=head2 sub _user_built_flow_open_path
find and get a directory path
=cut
sub _user_built_flow_open_path {
my ($self) = @_;
my $param_widgets = param_widgets->new();
my $whereami = whereami->new();
my $default_param_specs = $L_SU_global_constants->param();
my $first_idx = $default_param_specs->{_first_entry_idx};
my $length = $default_param_specs->{_length};
$gui_history->set_hash_ref($file_dialog);
$gui_history->set4FileDialog_open_start();
# $gui_history->set4superflow_open_path_start();
$file_dialog = $gui_history->get_hash_ref(); # gets 93
# If an appropriate Entry widget is first selected,
# Find out which entry button has been chosen (index)
# Confirm that it IS the file button
# print("file_dialog,_user_built_flow_open_path,_FileDialog_button pressed, \n");
# print("file_dialog, _user_built_flow_open_path selected _values_aref=@{$file_dialog->{_values_aref}}\n");
# print("file_dialog, _user_built_flow_open_path selected _values_aref=@{$file_dialog->{_names_aref}}\n");
# print("file_dialog _user_built_flow_open_path selected parameter_values_frame = $file_dialog->{_parameter_values_frame} \n");
my $widget_type =
$whereami->widget_type( $file_dialog->{_parameter_values_frame} );
# print("file_dialog _user_built_flow_open_path selected widget type is = $widget_type \n");
if ( $widget_type eq 'Entry' ) {
# print("1. file_dialog,_user_built_flow_open_path, selected widget_type=$widget_type \n");
my $selected_Entry_widget =
$file_dialog->{_parameter_values_frame}->focusCurrent;
$param_widgets->set_entry_button_chosen_widget($selected_Entry_widget);
# Need to set the length and first_idx or, $param-widgets->set_length($file_dialog_length);
# print("file_dialog,_user_built_flow_open_path,selection_Entry_widget HASH = $selected_Entry_widget\n");
# print("file_dialog,_user_built_flow_open_path, parameter_value_index= $file_dialog->{_parameter_value_index}\n");
$param_widgets->set_first_idx($first_idx);
$param_widgets->set_length($length);
# print("2. file_dialog _user_built_flow_open_path, selected_Entry_widget: $selected_Entry_widget\n");
$file_dialog->{_parameter_value_index} =
$param_widgets->get_entry_button_chosen_index();
# print("file_dialog,_user_built_flow_open_path,selection_Entry_widget HASH = $selected_Entry_widget\n");
# print("file_dialog,_user_built_flow_open_path, parameter_value_index= $file_dialog->{_parameter_value_index}\n");
if ( $file_dialog->{_parameter_value_index} >= 0 )
{ # for additional certainty; but is it needed?
# e.g. Data_Pl_SEISMIC, Data, Path, Open, Delete, etc.
my $topic = _get_dialog_type();
# print(
# "4. file_dialog,_user_built_flow_open_path, parameter_value_index= $file_dialog->{_parameter_value_index}\n"
# );
$file_dialog->{_entry_button_label} =
$param_widgets->get_label4entry_button_chosen();
# print(
# "5. file_dialog,_user_built_flow_open_path,entry_button_label = $file_dialog->{_entry_button_label}\n");
# use iFile to determine the stored Path in the current configuration file
$iFile->set_entry($file_dialog); # selected entry label
$iFile->set_flow_type_h($file_dialog); # user_built
$iFile->set_values_aref($file_dialog)
; # will determine the DIR based on type of data set e.g., /home/gom/
$iFile->set_prog_name_sref($file_dialog); # e.g., Project_config
$iFile->set_dialog_type($topic); # e.g. Data_Pl_SEISMIC, _Data
$file_dialog->{_path} = $iFile->get_Path();
# print("1.file_dialog,_user_built_open_flow_path, PATH: $file_dialog->{_path} \n");
# print("1.file_dialog,_user_built_open_flow_path, _values_aref: @{$file_dialog->{_values_aref}}[0]\n");
# open file dialog mega-widget
_FileDialog();
# updates the gui
_user_built_flow_close_path();
}
}
elsif ( $widget_type eq 'MainWindow' ) { # opening a random file
#
# print("file_dialog,_user_built_flow_open_path widget type is 'MainWindow' \n");
# my $message = $file_dialog->{_message_w}->FileDialog_button(0);
# $file_dialog->{_message_w}->delete( "1.0", 'end' );
# $file_dialog->{_message_w}->insert( 'end', $message );
#
}
else {
print(
"file_dialog,_pre-built_superflow_path no widget type selected \n");
}
}
=head2 sub _user_built_flow_open_perl_file
Open flows written in Perl
foreach my $key (sort keys %$file_dialog) {
print (" file_dialog,key is $key, value is $file_dialog->{$key}\n");
}
=cut
sub _user_built_flow_open_perl_file {
( run in 0.803 second using v1.01-cache-2.11-cpan-437f7b0c052 )