1 package Webmin::PlainText;
4 =head2 new Webmin::PlainText(text, columns)
5 Displays a block of plain fixed-width text, within a page or form.
9 if (defined(&Webmin::Theme::PlainText::new) &&
10 caller() !~ /Webmin::Theme::PlainText/) {
11 return new Webmin::Theme::PlainText(@_[1..$#_]);
13 my ($self, $text, $columns) = @_;
14 $self = { 'columns' => 80 };
16 $self->set_text($text);
17 $self->set_columns($columns) if (defined($columns));
27 $rv .= "<table border><tr $cb><td><pre>";
28 foreach my $l (&wrap_lines($self->get_text(), $self->get_columns())) {
29 if (length($l) < $self->get_columns()) {
30 $l .= (" " x $self->get_columns() - length($l));
32 $rv .= &html_escape($l)."\n";
34 if (!$self->get_text()) {
35 print (" " x $self->get_columns()),"\n";
37 $rv .= "</pre></td></tr></table>\n";
43 my ($self, $text) = @_;
44 $self->{'text'} = $text;
50 return $self->{'text'};
55 my ($self, $columns) = @_;
56 $self->{'columns'} = $columns;
62 return $self->{'columns'};
65 # wrap_lines(text, width)
66 # Given a multi-line string, return an array of lines wrapped to
72 foreach $rest (split(/\n/, $_[0])) {
74 while($rest =~ /^(.{1,$w}\S*)\s*([\0-\377]*)$/) {
80 # Empty line .. keep as it is
87 =head2 set_page(Webmin::Page)
88 Called when this form is added to a page
92 my ($self, $page) = @_;
93 $self->{'page'} = $page;