1 package Webmin::Columns;
4 =head2 new Webmin::Columns(cols)
5 Displays some page elements in a multi-column table
9 my ($self, $cols) = @_;
10 if (defined(&Webmin::Theme::Columns::new)) {
11 return new Webmin::Theme::Columns(@_[1..$#_]);
13 $self = { 'columns' => 2 };
15 $self->set_columns($cols) if (defined($cols));
20 Returns HTML for the objects, arranged in columns
26 my $n = scalar(@{$self->{'contents'}});
27 $rv .= "<table width=100% cellpadding=4><tr>\n";
28 my $h = int($n / $self->{'columns'})+1;
30 my $pc = int(100/$self->{'columns'});
31 foreach my $c (@{$self->{'contents'}}) {
33 $rv .= "<td valign=top width=$pc%>";
35 $rv .= $c->html()."<p>\n";
41 $rv .= "</tr></table>\n";
46 Adds some Webmin:: object to this list
50 my ($self, $object) = @_;
51 push(@{$self->{'contents'}}, $object);
52 if ($self->{'page'}) {
53 $object->set_page($self->{'page'});
59 my ($self, $columns) = @_;
60 $self->{'columns'} = $columns;
66 return $self->{'columns'};
69 =head2 set_page(Webmin::Page)
70 Called when this menu is added to a page
74 my ($self, $page) = @_;
75 $self->{'page'} = $page;
76 foreach my $c (@{$self->{'contents'}}) {