DOCUMENTATION =head2 SYNOPSIS PERL PROGRAM NAME: color_listbox AUTHOR: Juan Lorenzo DATE: December 19, 2020 DESCRIPTION Basic class with color_listbox attributes BASED ON:

USE =head3 NOTES =head4 Examples =head2 CHANGES and their DATES

Notes from bash

Import modules

Instantiation

Declare Special Variables

Defaults

private anonymous array

private anonymous hashes containing history

initialize arrays

sub _default_flow_listbox_color_availability_aref Initialize array of listbox availability across an array of colored listboxes indicators show whether listbox may be available.

sub default_next_available_occupied_listbox_aref Initialize array of next_available occupied-flow-listbox-array indicators that indicate which listbox will next be used

sub default_occupied_listbox_aref Initialize array of occupied-flow-listbox-array indicators

sub default_next_available_vacancy_listbox_aref Initialize array of next_available vacant-flow-listbox-array indicators that indicate which listbox will next be used

sub _default_vacant_listbox_aref Initialize array of empty-flow-listbox-array indicators

Declare attributes Check hat empty flows are marked vacant. Mark occupied and vacant flows as available for occupation or reoccupation, (potentially)

sub _flow_listbox_color2check

sub _get_message_box_ok_click

sub _get_my_dialog_cancel_click

sub _get_my_dialog_box_click

sub _get_my_dialog_ok_click

sub _hide_dialog_box

sub _set_flow_listbox_color_available Mark the listbox color in use

sub _set_message_box_ok_click

sub _set_my_dialog_box_click

sub _set_my_dialog_ok_click

sub _set_my_dialog_cancel_click

sub _set_shared_wait1

sub _set_shared_wait2

sub set_flow_listbox_availability Update which listboxes (colors) are possibly available for re-occupancy Also make sure that occupied listboxes are not empty

sub _update_flow_listbox_color Mark the listbox color in use

sub _update_flow_listbox_color_reservation Reserve a potential listbox color for later use

sub _update_flow_listbox_next_available_occupancyNvacancy_aref Update which listboxes (colors) are in use (occupancy) and which are not (vacancies)

sub _update_flow_listbox_occupancyNvacancy_aref

sub _update_flow_listbox_vacancy_color Mark the next vacant color

sub _update_flow_listbox_vacancy_aref Mark the listbox color in use

sub _update_next_available_flow_listbox_color Mark the next_available listbox color to use Mark next available color listbox vacant Give preference to the next_available listbox

sub _update_my_dialog_ok_click Get the user's answer to my dialog is yes or no

sub _update_my_dialog_cancel_click Get the user's answer to my dialog is yes or no

sub _update2prior_flow_listbox_vacancy_color Unmark the past vacant color

sub _update2prior_flow_listbox_occupancyNvacancy_aref

sub _update_prior_available_flow_listbox_color Return to the previously available listbox color Mark previously available vacant color listbox Give preference to the previously available listbox

sub initialize_my_dialogs Create widgets that show 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 or CANCEL is clicked and wait variable changes from yes to no. Widgets belong to the MainWindow that is created first in L_SUVx.x.pl

sub initialize_messages Create widgets that show 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 no to yes. Widgets belong to the MainWindow that is created first in L_SUVx.x.pl

sub is_flow_listbox_color_available Check wether a listbox of a certain color is already occupied

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 no to yes.

sub my_dialogs 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 or CANCEL is clicked and wait variable changes from yes to no.

sub set_hash_ref

	Imports external hash into a local
	hash via gui_history module
	hash
	Note that color_listbox_href is not altered
	A private hash (color_listbox) is available for truly private variables