/[wait]/branches/unido/lib/WAIT/Format/Term.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /branches/unido/lib/WAIT/Format/Term.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 106 - (show annotations)
Tue Jul 13 12:22:09 2004 UTC (19 years, 9 months ago) by dpavlin
File size: 2150 byte(s)
Changes made by Andreas J. Koenig <andreas.koenig(at)anima.de> for Unido project

1 # -*- Mode: Perl -*-
2 # Term.pm --
3 # ITIID : $ITI$ $Header $__Header$
4 # Author : Ulrich Pfeifer
5 # Created On : Wed Sep 18 20:10:42 1996
6 # Last Modified By: Ulrich Pfeifer
7 # Last Modified On: Sun Nov 22 18:44:44 1998
8 # Language : CPerl
9 # Update Count : 15
10 # Status : Unknown, Use with caution!
11 #
12 # Copyright (c) 1996-1997, Ulrich Pfeifer
13 #
14
15 package WAIT::Format::Term;
16 require WAIT::Format::Base;
17 use strict;
18 use vars qw(@ISA);
19 require Term::Cap;
20 my %DEFAULT;
21 @ISA = qw(WAIT::Format::Base);
22
23 my $terminal = eval {Tgetent Term::Cap { TERM => undef, OSPEED => 9200 }};
24 unless (defined $terminal) {
25 eval { require Term::Info; };
26 if ($@ ne '') {
27 warn "Neither Term::Cap nor Term::Info seems to work.".
28 " Reverting to dumb settings";
29 %DEFAULT = (
30 bold_s => '*',
31 bold_e => '*',
32 query_s => '[',
33 query_e => ']',
34 italic_s => '_',
35 italic_e => '_',
36 );
37 } else {
38 import Term::Info qw(Tput);
39 %DEFAULT = (
40 bold_s => Tput("bold"),
41 bold_e => Tput("sgr0"),
42 query_s => Tput("rev"),
43 query_e => Tput("sgr0"),
44 italic_s => Tput("smul"),
45 italic_e => Tput("sgr0"),
46 );
47 }
48 } else {
49 %DEFAULT = (
50 bold_s => $terminal->{_md},
51 bold_e => $terminal->{_me},
52 query_s => $terminal->{_mr} || $terminal->{_md},
53 query_e => $terminal->{_me},
54 italic_s => $terminal->{_us},
55 italic_e => $terminal->{_ue},
56 );
57 }
58
59 sub new {
60 my $type = shift;
61 my %parm = @_;
62 my %self = %DEFAULT;
63
64 for (keys %DEFAULT) {
65 $self{$_} = $parm{$_} if exists $parm{$_};
66 }
67 bless \%self, ref($type) || $type;
68 }
69
70 sub bold {
71 my $self = shift;
72 $self->{bold_s} . $_[0] . $self->{bold_e};
73 }
74
75 sub italic {
76 my $self = shift;
77 $self->{italic_s} . $_[0] . $self->{italic_e};
78 }
79
80 sub query {
81 my $self = shift;
82 $self->{query_s} . $_[0] . $self->{query_e};
83 }
84
85 1;

  ViewVC Help
Powered by ViewVC 1.1.26