"Tickit::Console::Tab" − represent a single tab on a "Tickit::Console"
Objects in this class represent a single switchable tab within a Tickit::Console. They are not constructed directly, but instead are returned by the "add_tab" method of the underlying "Tickit::Console" object.
The following
extra parameters may be passed to the constructor, or via
the "add_tab" method on the
"Tickit::Console" object:
timestamp_format => STRING or String::Tagged
If defined, every line is prefixed with a timestamp built by applying the "POSIX::strftime" function to this string. If a String::Tagged instance is applied it will preserve all the formatting from it.
datestamp_format => STRING or String::Tagged
If defined, every time a line is added to the buffer, if it starts a new day since the previous message (because the format yields a different string), this message is added as well to the scroller.
localtime => CODE
If defined, provides an alternative function to "CORE::localtime" for converting an epoch value into a timestamp. For example, this may be set to
sub { gmtime $_[0] }
to generate timestamps in UTC instead of using the local timezone.
$name =
$tab−>name;
$tab−>set_name( $name );
Returns or sets the tab name text
$tab−>append_line( $string, %opts );
Appends a line of text to the tab. $string may either be a plain perl string, or an instance of String::Tagged containing formatting tags, as specified by Tickit::Widget::Scroller. Options will be passed to the Tickit::Widget::Scroller::Item::Line used to contain the string.
Also recognises
the following options:
time => NUM
Overrides the epoch time() value used to generate a timestamp for this line
timestamp_format => STRING or String::Tagged
Overrides the stored format for generating a timestamp string.
datestamp_format => STRING or String::Tagged
Overrides the stored format for generating a datestamp string.
$tab−>prepend_line( $string, %opts );
As "append_line", but prepends it at the beginning of the scroller.
$tab−>bind_key( $key, $code );
Installs a callback to invoke if the given key is pressed while this tab has focus, overwriting any previous callback for the same key. The code block is invoked as
$result = $code−>( $tab, $key );
If $code is missing or "undef", any existing callback is removed.
This callback will be invoked before one defined on the console object itself, if present. If it returns a false value, then the one on the console will be invoked instead.
Paul Evans <[email protected]>