Skip to content

forbear_bar_object ​

Source: src/lib/forbear_bar_object.F90

Dependencies

Contents ​

Variables ​

NameTypeAttributesDescription
ESCcharacter(len=1)parameter
CRcharacter(len=1)parameter
LFcharacter(len=1)parameter
FULL_BLOCKcharacter(len=*)parameter
PARTIAL_BLOCKScharacter(len=*)parameter
SEGMENT_DIGITScharacter(len=*)parameter
RAMP_BLOCKScharacter(len=*)parameter
PROFILE_FLATinteger(kind=I4P)parameter
PROFILE_RAMPinteger(kind=I4P)parameter
TOKEN_TEXTinteger(kind=I4P)parameter
TOKEN_BARinteger(kind=I4P)parameter
TOKEN_SPINNERinteger(kind=I4P)parameter
TOKEN_PERCENTinteger(kind=I4P)parameter
TOKEN_COUNTinteger(kind=I4P)parameter
TOKEN_SPEEDinteger(kind=I4P)parameter
TOKEN_ETAinteger(kind=I4P)parameter
TOKEN_ELAPSEDinteger(kind=I4P)parameter
TOKEN_MESSAGEinteger(kind=I4P)parameter
TOKEN_PREFIXinteger(kind=I4P)parameter
TOKEN_SUFFIXinteger(kind=I4P)parameter
TOKEN_FIELDinteger(kind=I4P)parameter

Derived Types ​

token_object ​

Components ​

NameTypeAttributesDescription
kindinteger(kind=I4P)
decoratedlogical
namecharacter(len=:)allocatable
fieldinteger(kind=I4P)
styletype(element_object)

field_entry ​

Components ​

NameTypeAttributesDescription
namecharacter(len=:)allocatable
fieldclass(field_object)allocatable

bar_object ​

Components ​

NameTypeAttributesDescription
prefixtype(element_object)
suffixtype(element_object)
bracket_lefttype(element_object)
bracket_righttype(element_object)
empty_chartype(element_object)
filled_chartype(element_object)
progress_percenttype(element_object)
progress_counttype(element_object)
progress_speedtype(element_object)
etatype(element_object)
messagetype(element_object)
scale_bartype(element_object)
date_timetype(element_object)
summarytype(element_object)
spinnertype(element_object)allocatable
zone_limitreal(kind=R8P)allocatable
zone_chartype(element_object)allocatable
trail_chartype(element_object)allocatable
widthinteger(kind=I4P)
min_valuereal(kind=R8P)
max_valuereal(kind=R8P)
frequencyinteger(kind=I4P)
min_intervalreal(kind=R8P)
log_intervalreal(kind=R8P)
smoothingreal(kind=R8P)
positioninteger(kind=I4P)
add_scale_barlogical
add_progress_percentlogical
add_progress_countlogical
add_progress_speedlogical
add_etalogical
add_date_timelogical
add_summarylogical
partial_blockslogical
profileinteger(kind=I4P)
segment_digitslogical
digits_unlit_colorcharacter(len=:)allocatable
indeterminatelogical
is_interactive_logical
is_disabled_logical
hide_cursorlogical
is_stdout_locked_logical
output_unitinteger(kind=I4P)
progress_drawn_integer(kind=I4P)
fraction_drawn_real(kind=R8P)
rate_real(kind=R8P)
rate_samples_integer(kind=I4P)
tic_integer(kind=I8P)
tic_start_integer(kind=I8P)
spinner_count_integer(kind=I4P)
date_time_start_character(len=18)
is_complete_logical
current_real(kind=R8P)
pulse_integer(kind=I4P)
is_suspended_logical
frame_character(kind=UCS4, len=:)allocatable
tokens_type(token_object)allocatable
fields_type(field_entry)allocatable
has_template_logical
template_character(len=:)allocatable

Type-Bound Procedures ​

NameAttributesDescription
add_fieldpass(self)
destroypass(self)
finishpass(self)
initializepass(self)
is_stdout_lockedpass(self)
resumepass(self)
startpass(self)
suspendpass(self)
updatepass(self)
writepass(self)
add_tokenpass(self)
bar_bodypass(self)
build_framepass(self)
cell_zonepass(self)
lit_cellspass(self)
unlit_cellspass(self)
parse_zonespass(self)
parse_trailpass(self)
numeralpass(self)
scanner_bodypass(self)
default_layoutpass(self)
parse_templatepass(self)
measurepass(self)
progress_statepass(self)
resolve_fieldspass(self)
width_before_barpass(self)
completepass(self)
create_spinnerpass(self)
drawpass(self)
draw_progresspass(self)
update_ratepass(self)

Interfaces ​

isatty ​

Subroutines ​

destroy ​

Attributes: pure

fortran
subroutine destroy(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout

Call graph

initialize ​

fortran
subroutine initialize(self, prefix_string, prefix_color_fg, prefix_color_bg, prefix_style, suffix_string, suffix_color_fg, suffix_color_bg, suffix_style, bracket_left_string, bracket_left_color_fg, bracket_left_color_bg, bracket_left_style, bracket_right_string, bracket_right_color_fg, bracket_right_color_bg, bracket_right_style, empty_char_string, empty_char_color_fg, empty_char_color_bg, empty_char_style, filled_char_string, filled_char_color_fg, filled_char_color_bg, filled_char_style, spinner_string, spinner_color_fg, spinner_color_bg, spinner_style, add_scale_bar, scale_bar_color_fg, scale_bar_color_bg, scale_bar_style, add_progress_percent, progress_percent_color_fg, progress_percent_color_bg, progress_percent_style, add_progress_count, progress_count_color_fg, progress_count_color_bg, progress_count_style, add_progress_speed, progress_speed_color_fg, progress_speed_color_bg, progress_speed_style, add_eta, eta_color_fg, eta_color_bg, eta_style, add_date_time, date_time_color_fg, date_time_color_bg, date_time_style, add_summary, summary_color_fg, summary_color_bg, summary_style, message_color_fg, message_color_bg, message_style, width, min_value, max_value, frequency, min_interval, smoothing, partial_blocks, position, interactive, disabled, hide_cursor, template, indeterminate, log_interval, output_unit, bar_zones, bar_profile, pulse_trail, digits, digits_unlit_color, theme)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout
prefix_stringclass(*)inoptional
prefix_color_fgcharacter(len=*)inoptional
prefix_color_bgcharacter(len=*)inoptional
prefix_stylecharacter(len=*)inoptional
suffix_stringclass(*)inoptional
suffix_color_fgcharacter(len=*)inoptional
suffix_color_bgcharacter(len=*)inoptional
suffix_stylecharacter(len=*)inoptional
bracket_left_stringclass(*)inoptional
bracket_left_color_fgcharacter(len=*)inoptional
bracket_left_color_bgcharacter(len=*)inoptional
bracket_left_stylecharacter(len=*)inoptional
bracket_right_stringclass(*)inoptional
bracket_right_color_fgcharacter(len=*)inoptional
bracket_right_color_bgcharacter(len=*)inoptional
bracket_right_stylecharacter(len=*)inoptional
empty_char_stringclass(*)inoptional
empty_char_color_fgcharacter(len=*)inoptional
empty_char_color_bgcharacter(len=*)inoptional
empty_char_stylecharacter(len=*)inoptional
filled_char_stringclass(*)inoptional
filled_char_color_fgcharacter(len=*)inoptional
filled_char_color_bgcharacter(len=*)inoptional
filled_char_stylecharacter(len=*)inoptional
spinner_stringclass(*)inoptional
spinner_color_fgcharacter(len=*)inoptional
spinner_color_bgcharacter(len=*)inoptional
spinner_stylecharacter(len=*)inoptional
add_scale_barlogicalinoptional
scale_bar_color_fgcharacter(len=*)inoptional
scale_bar_color_bgcharacter(len=*)inoptional
scale_bar_stylecharacter(len=*)inoptional
add_progress_percentlogicalinoptional
progress_percent_color_fgcharacter(len=*)inoptional
progress_percent_color_bgcharacter(len=*)inoptional
progress_percent_stylecharacter(len=*)inoptional
add_progress_countlogicalinoptional
progress_count_color_fgcharacter(len=*)inoptional
progress_count_color_bgcharacter(len=*)inoptional
progress_count_stylecharacter(len=*)inoptional
add_progress_speedlogicalinoptional
progress_speed_color_fgcharacter(len=*)inoptional
progress_speed_color_bgcharacter(len=*)inoptional
progress_speed_stylecharacter(len=*)inoptional
add_etalogicalinoptional
eta_color_fgcharacter(len=*)inoptional
eta_color_bgcharacter(len=*)inoptional
eta_stylecharacter(len=*)inoptional
add_date_timelogicalinoptional
date_time_color_fgcharacter(len=*)inoptional
date_time_color_bgcharacter(len=*)inoptional
date_time_stylecharacter(len=*)inoptional
add_summarylogicalinoptional
summary_color_fgcharacter(len=*)inoptional
summary_color_bgcharacter(len=*)inoptional
summary_stylecharacter(len=*)inoptional
message_color_fgcharacter(len=*)inoptional
message_color_bgcharacter(len=*)inoptional
message_stylecharacter(len=*)inoptional
widthinteger(kind=I4P)inoptional
min_valuereal(kind=R8P)inoptional
max_valuereal(kind=R8P)inoptional
frequencyinteger(kind=I4P)inoptional
min_intervalreal(kind=R8P)inoptional
smoothingreal(kind=R8P)inoptional
partial_blockslogicalinoptional
positioninteger(kind=I4P)inoptional
interactivelogicalinoptional
disabledlogicalinoptional
hide_cursorlogicalinoptional
templatecharacter(len=*)inoptional
indeterminatelogicalinoptional
log_intervalreal(kind=R8P)inoptional
output_unitinteger(kind=I4P)inoptional
bar_zonescharacter(len=*)inoptional
bar_profilecharacter(len=*)inoptional
pulse_trailcharacter(len=*)inoptional
digitscharacter(len=*)inoptional
digits_unlit_colorcharacter(len=*)inoptional
themecharacter(len=*)inoptional

Call graph

start ​

fortran
subroutine start(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout

Call graph

update ​

fortran
subroutine update(self, current, message)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout
currentreal(kind=R8P)in
messageclass(*)inoptional

Call graph

suspend ​

fortran
subroutine suspend(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout

resume ​

fortran
subroutine resume(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout

Call graph

finish ​

fortran
subroutine finish(self, message)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout
messageclass(*)inoptional

Call graph

write_message ​

fortran
subroutine write_message(self, message)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout
messageclass(*)in

Call graph

draw_progress ​

fortran
subroutine draw_progress(self, force)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout
forcelogicalin

Call graph

build_frame ​

fortran
subroutine build_frame(self, progress, fraction, elapsed)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout
progressinteger(kind=I4P)in
fractionreal(kind=R8P)in
elapsedreal(kind=R8P)in

Call graph

measure ​

Attributes: pure

fortran
subroutine measure(self, current, fraction, progress)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)in
currentreal(kind=R8P)in
fractionreal(kind=R8P)out
progressinteger(kind=I4P)out

Call graph

add_field ​

fortran
subroutine add_field(self, name, field)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout
namecharacter(len=*)in
fieldclass(field_object)in

Call graph

add_token ​

fortran
subroutine add_token(self, kind, style, decorated, name)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout
kindinteger(kind=I4P)in
styletype(element_object)inoptional
decoratedlogicalinoptional
namecharacter(len=*)inoptional

Call graph

default_layout ​

fortran
subroutine default_layout(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout

Call graph

parse_template ​

fortran
subroutine parse_template(self, template)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout
templatecharacter(len=*)in

Call graph

parse_zones ​

fortran
subroutine parse_zones(self, zones)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout
zonescharacter(len=*)in

Call graph

parse_trail ​

fortran
subroutine parse_trail(self, trail)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout
trailcharacter(len=*)in

Call graph

resolve_fields ​

fortran
subroutine resolve_fields(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout

Call graph

complete ​

fortran
subroutine complete(self, tic, count_rate)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout
ticinteger(kind=I8P)in
count_rateinteger(kind=I8P)in

Call graph

draw ​

fortran
subroutine draw(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout

Call graph

update_rate ​

fortran
subroutine update_rate(self, fraction, tic, count_rate)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout
fractionreal(kind=R8P)in
ticinteger(kind=I8P)in
count_rateinteger(kind=I8P)in

Call graph

create_spinner ​

fortran
subroutine create_spinner(self, string, color_fg, color_bg, style)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)inout
stringclass(*)inoptional
color_fgcharacter(len=*)inoptional
color_bgcharacter(len=*)inoptional
stylecharacter(len=*)inoptional

Call graph

template_error ​

fortran
subroutine template_error(what, template)

Arguments

NameTypeIntentAttributesDescription
whatcharacter(len=*)in
templatecharacter(len=*)in

Call graph

zones_error ​

fortran
subroutine zones_error(what, zones)

Arguments

NameTypeIntentAttributesDescription
whatcharacter(len=*)in
zonescharacter(len=*)in

Call graph

Functions ​

is_stdout_locked ​

Attributes: pure

Returns: logical

fortran
function is_stdout_locked(self) result(is_locked)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)in

bar_body ​

Returns: character(kind=UCS4, len=:)

fortran
function bar_body(self, progress, fraction, plain) result(body)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)in
progressinteger(kind=I4P)in
fractionreal(kind=R8P)in
plainlogicalin

Call graph

cell_zone ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function cell_zone(self, cell) result(zone)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)in
cellinteger(kind=I4P)in

Call graph

lit_cells ​

Attributes: pure

Returns: character(kind=UCS4, len=:)

fortran
function lit_cells(self, first, last, plain) result(cells)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)in
firstinteger(kind=I4P)in
lastinteger(kind=I4P)in
plainlogicalin

Call graph

numeral ​

Returns: character(kind=UCS4, len=:)

fortran
function numeral(self, token, text, plain) result(output)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)in
tokentype(token_object)inout
textcharacter(len=*)in
plainlogicalin

Call graph

scanner_body ​

Attributes: pure

Returns: character(kind=UCS4, len=:)

fortran
function scanner_body(self, plain) result(body)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)in
plainlogicalin

Call graph

unlit_cells ​

Attributes: pure

Returns: character(kind=UCS4, len=:)

fortran
function unlit_cells(self, first, last, plain) result(cells)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)in
firstinteger(kind=I4P)in
lastinteger(kind=I4P)in
plainlogicalin

Call graph

progress_state ​

Returns: type(progress_object)

fortran
function progress_state(self, fraction, progress, elapsed) result(state)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)in
fractionreal(kind=R8P)in
progressinteger(kind=I4P)in
elapsedreal(kind=R8P)in

Call graph

width_before_bar ​

Returns: integer(kind=I4P)

fortran
function width_before_bar(self) result(width)

Arguments

NameTypeIntentAttributesDescription
selfclass(bar_object)in

Call graph

compact_real ​

Attributes: pure

Returns: character(len=w)

fortran
function compact_real(x, w) result(compact)

Arguments

NameTypeIntentAttributesDescription
xreal(kind=R8P)in
winteger(kind=I4P)in

Call graph

count_text ​

Attributes: pure

Returns: character(len=:)

fortran
function count_text(min_value, max_value, fraction) result(text)

Arguments

NameTypeIntentAttributesDescription
min_valuereal(kind=R8P)in
max_valuereal(kind=R8P)in
fractionreal(kind=R8P)in

Call graph

done_text ​

Attributes: pure

Returns: character(len=:)

fortran
function done_text(min_value, done) result(text)

Arguments

NameTypeIntentAttributesDescription
min_valuereal(kind=R8P)in
donereal(kind=R8P)in

Call graph

pick ​

Attributes: pure

Returns: character(len=:)

fortran
function pick(value, default) result(chosen)

Arguments

NameTypeIntentAttributesDescription
valuecharacter(len=*)inoptional
defaultcharacter(len=*)in

Call graph

pulse_phase ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function pulse_phase(drawing, travel) result(phase)

Arguments

NameTypeIntentAttributesDescription
drawinginteger(kind=I4P)in
travelinteger(kind=I4P)in

Call graph

ramp_level ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function ramp_level(cell, width) result(level)

Arguments

NameTypeIntentAttributesDescription
cellinteger(kind=I4P)in
widthinteger(kind=I4P)in

Call graph

display_width ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function display_width(string) result(width)

Arguments

NameTypeIntentAttributesDescription
stringcharacter(kind=UCS4, len=*)in

Call graph

styled ​

Returns: character(kind=UCS4, len=:)

fortran
function styled(token, text, plain) result(output)

Arguments

NameTypeIntentAttributesDescription
tokentype(token_object)inout
textcharacter(len=*)in
plainlogicalin

Call graph

token_kind ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function token_kind(name) result(kind)

Arguments

NameTypeIntentAttributesDescription
namecharacter(len=*)in

Call graph

duration ​

Attributes: pure

Returns: character(len=:)

fortran
function duration(seconds) result(text)

Arguments

NameTypeIntentAttributesDescription
secondsreal(kind=R8P)in

Call graph

get_environment ​

Returns: logical

fortran
function get_environment(name, value) result(is_set)

Arguments

NameTypeIntentAttributesDescription
namecharacter(len=*)in
valuecharacter(len=:)outallocatable

Call graph

hms ​

Attributes: pure

Returns: character(len=8)

fortran
function hms(seconds) result(text)

Arguments

NameTypeIntentAttributesDescription
secondsreal(kind=R8P)in

Call graph

is_terminal ​

Returns: logical

fortran
function is_terminal(unit)

Arguments

NameTypeIntentAttributesDescription
unitinteger(kind=I4P)in

Call graph

render ​

Attributes: pure

Returns: character(kind=UCS4, len=:)

fortran
function render(element, plain) result(text)

Arguments

NameTypeIntentAttributesDescription
elementtype(element_object)in
plainlogicalin

Call graph

Released under the GPL v3, BSD 2-Clause, BSD 3-Clause or MIT License.