1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386
|
=head1 NAME
UI::Dialog::Backend::XOSD - backend for the osd_cat(1).
=head1 SYNOPSIS
use UI::Dialog::Backend::XOSD;
my $xosd = new UI::Dialog::Backend::XOSD ();
$xosd->line( text => "Something to display...");
=head1 ABSTRACT
UI::Dialog::Backend::XOSD is an OOPerl wrapper for the osd_cat(1)
program.
=head1 DESCRIPTION
Use this module to present feedback to the end user via an on-screen
display (like an on-screen TV volume meter). When you use any of the
UI::Dialog meta classes (UI::Dialog, UI::Dialog::GNOME, etc.) access
to this backend is provided via the $d->xosd method. ie: replace $xosd
with $d->xosd in the synopsis example (provided you made $d with
something like my $d = new UI::Dialog...). Also, UI::Dialog (and
friends) only load this module when you first use the $d->xosd method
(this may silently fail, but you can test by ref() for success).
=head1 EXPORT
=over 2
None
=back
=head1 INHERITS
=over 2
UI::Dialog::Backend
=back
=head1 CONSTRUCTOR
=head2 new( @options )
=over 4
=item EXAMPLE
=over 6
my $xosd = new UI::Dialog::Backend::XOSD ( );
=back
=item DESCRIPTION
=over 6
This is the Class Constructor method. It accepts a list of key => value pairs
and uses them as the defaults when interacting with the various widgets. All
methods accept the same arguments as new() except that the arguments passed to
the methods are temporarily used instead of making them the default as the
new() method does. In the case of the 'wait' option, any (non-zero) value enables
the option as it's a switch and not a string argument.
=back
=item RETURNS
=over 6
A blessed object reference of the UI::Dialog::Backend::XOSD class.
=back
=item OPTIONS
The (...)'s after each option indicate the default for the option. An * denotes
support by all the widget methods on a per-use policy defaulting to the
values decided during object creation.
=over 6
=item B<offset = \d+> (0) *
=item B<align = \w+> ('left') *
=item B<indent = \d+> (0) *
=item B<font = "x-font-string"> ('fixed') *
=item B<colour = \w+> ('red') *
=item B<delay = \d+> (5) *
=item B<lines = \d+> (5) *
=item B<shadow = \d+> (0) *
=item B<age = \d+> (0) *
=item B<wait = 0,1> (0) *
=back
=back
=head1 METHODS
=head2 line( )
=over 4
=item EXAMPLE
=over 6
$xosd->line( text => "some text to display" );
=back
=item DESCRIPTION
=over 6
Display a simple string on the screen.
=back
=item RETURNS
=over 6
Nothing.
=back
=back
=head2 file( )
=over 4
=item EXAMPLE
=over 6
$xosd->file( file => "/path/to/a/file" );
=back
=item DESCRIPTION
=over 6
Display a file on the screen.
=back
=item RETURNS
=over 6
Nothing.
=back
=back
=head2 gauge( )
=over 4
=item EXAMPLE
=over 6
$xosd->gauge( text => "",
percent => $current_percentage,
length => 40,
bar => "-",
mark => "|" );
=back
=item DESCRIPTION
=over 6
Display a gauge bar with a percentage mark on the screen with an optional
message.
=back
=item RETURNS
=over 6
Nothing.
=back
=back
=head2 display_start( )
=over 4
=item EXAMPLE
=over 6
$xosd->display_start( );
=back
=item DESCRIPTION
=over 6
Opens a pipe command to the osd_cat(1) program for prolonged interactivity.
This accepts all of the standard options but has nothing else to offer. The
other display_*() methods (detailed below) return zero unless this method has
been used and has created the command pipe.
=back
=item RETURNS
=over 6
TRUE (1) for success and FALSE (0) otherwise.
=back
=back
=head2 display_text( )
=over 4
=item EXAMPLE
=over 6
$xosd->display_start();
$xosd->display_text( "Some string to display." );
=back
=item DESCRIPTION
=over 6
Uses the command pipe created by display_start() and prints the first argument
to the screen. This method does not have any options, save the one string
scalar.
=back
=item RETURNS
=over 6
TRUE (1) for success and FALSE (0) otherwise.
=back
=back
=head2 display_gauge( )
=over 4
=item EXAMPLE
=over 6
$xosd->display_start();
$xosd->display_gauge( 50, "display an optional text string." );
=back
=item DESCRIPTION
=over 6
Uses the command pipe created by display_start() and prints a gauge identical
to the regular (stand-alone) gauge() method. There are only to accepted
arguments; the desired percentage and an optional text string.
=back
=item RETURNS
=over 6
TRUE (1) for success and FALSE (0) otherwise.
=back
=back
=head2 display_stop( )
=over 4
=item EXAMPLE
=over 6
$xosd->display_start();
$xosd->display_text( "about to stop!" );
$xosd->display_stop();
=back
=item DESCRIPTION
=over 6
This closes the command pipe opened by the display_start() method. This method
takes no arguments and performs only the task for closing and existing
command pipe.
=back
=item RETURNS
=over 6
TRUE (1) for success and FALSE (0) otherwise.
=back
=back
=head1 SEE ALSO
=over 2
=item PERLDOC
UI::Dialog
UI::Dialog::Backend
=back
=over 2
=item MAN FILES
osd_cat(1)
=back
=head1 BUGS
Please email the author with any bug reports. Include the name of the
module in the subject line.
=head1 AUTHOR
Kevin C. Krinke, E<lt>kevin@krinke.caE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2004-2016 Kevin C. Krinke <kevin@krinke.ca>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
=cut
|