Apache/2.4.7 (Ubuntu) Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) safemode : OFF MySQL: ON | Perl: ON | cURL: OFF | WGet: ON > / usr / share / perl5 / Debconf / Element / Gnome / | server ip : 104.21.89.46 your ip : 172.69.58.121 H O M E |
Filename | /usr/share/perl5/Debconf/Element/Gnome/Multiselect.pm |
Size | 2.42 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 27-Apr-2025 09:50 |
Last modified | 23-Feb-2014 22:30 |
Last accessed | 06-Jul-2025 21:26 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
#!/usr/bin/perl -w
# This file was preprocessed, do not edit!
package Debconf::Element::Gnome::Multiselect;
use strict;
use Gtk2;
use utf8;
use Debconf::Encoding qw(to_Unicode);
use base qw(Debconf::Element::Gnome Debconf::Element::Multiselect);
use constant SELECTED_COLUMN => 0;
use constant CHOICES_COLUMN => 1;
sub init {
my $this=shift;
my @choices = map { to_Unicode($_) } $this->question->choices_split;
my %default=map { to_Unicode($_) => 1 } $this->translate_default;
$this->SUPER::init(@_);
$this->multiline(1);
$this->adddescription;
$this->widget(Gtk2::ScrolledWindow->new);
$this->widget->show;
$this->widget->set_policy('automatic', 'automatic');
my $list_store = Gtk2::ListStore->new('Glib::Boolean', 'Glib::String');
$this->list_view(Gtk2::TreeView->new($list_store));
$this->list_view->set_headers_visible(0);
my $renderer_toggle = Gtk2::CellRendererToggle->new;
$renderer_toggle->signal_connect(toggled => sub {
my $path_string = $_[1];
my $model = $_[2];
my $iter = $model->get_iter_from_string($path_string);
$model->set($iter, SELECTED_COLUMN,
not $model->get($iter, SELECTED_COLUMN));
}, $list_store);
$this->list_view->append_column(
Gtk2::TreeViewColumn->new_with_attributes('Selected',
$renderer_toggle, 'active', SELECTED_COLUMN));
$this->list_view->append_column(
Gtk2::TreeViewColumn->new_with_attributes('Choices',
Gtk2::CellRendererText->new, 'text', CHOICES_COLUMN));
$this->list_view->show;
$this->widget->add($this->list_view);
for (my $i=0; $i <= $#choices; $i++) {
my $iter = $list_store->append();
$list_store->set($iter, CHOICES_COLUMN, $choices[$i]);
if ($default{$choices[$i]}) {
$list_store->set($iter, SELECTED_COLUMN, 1);
}
}
$this->addwidget($this->widget);
$this->tip($this->list_view);
$this->addhelp;
$this->fill(1);
$this->expand(1);
}
sub value {
my $this=shift;
my $list_view = $this->list_view;
my $list_store = $list_view->get_model ();
my ($ret, $val);
my @vals;
$this->question->template->i18n('');
my @choices=$this->question->choices_split;
$this->question->template->i18n(1);
my $iter = $list_store->get_iter_first();
for (my $i=0; $i <= $#choices; $i++) {
if ($list_store->get($iter, SELECTED_COLUMN)) {
push @vals, $choices[$i];
}
$iter = $list_store->iter_next($iter);
}
return join(', ', $this->order_values(@vals));
}
*visible = \&Debconf::Element::Multiselect::visible;
1
# This file was preprocessed, do not edit!
package Debconf::Element::Gnome::Multiselect;
use strict;
use Gtk2;
use utf8;
use Debconf::Encoding qw(to_Unicode);
use base qw(Debconf::Element::Gnome Debconf::Element::Multiselect);
use constant SELECTED_COLUMN => 0;
use constant CHOICES_COLUMN => 1;
sub init {
my $this=shift;
my @choices = map { to_Unicode($_) } $this->question->choices_split;
my %default=map { to_Unicode($_) => 1 } $this->translate_default;
$this->SUPER::init(@_);
$this->multiline(1);
$this->adddescription;
$this->widget(Gtk2::ScrolledWindow->new);
$this->widget->show;
$this->widget->set_policy('automatic', 'automatic');
my $list_store = Gtk2::ListStore->new('Glib::Boolean', 'Glib::String');
$this->list_view(Gtk2::TreeView->new($list_store));
$this->list_view->set_headers_visible(0);
my $renderer_toggle = Gtk2::CellRendererToggle->new;
$renderer_toggle->signal_connect(toggled => sub {
my $path_string = $_[1];
my $model = $_[2];
my $iter = $model->get_iter_from_string($path_string);
$model->set($iter, SELECTED_COLUMN,
not $model->get($iter, SELECTED_COLUMN));
}, $list_store);
$this->list_view->append_column(
Gtk2::TreeViewColumn->new_with_attributes('Selected',
$renderer_toggle, 'active', SELECTED_COLUMN));
$this->list_view->append_column(
Gtk2::TreeViewColumn->new_with_attributes('Choices',
Gtk2::CellRendererText->new, 'text', CHOICES_COLUMN));
$this->list_view->show;
$this->widget->add($this->list_view);
for (my $i=0; $i <= $#choices; $i++) {
my $iter = $list_store->append();
$list_store->set($iter, CHOICES_COLUMN, $choices[$i]);
if ($default{$choices[$i]}) {
$list_store->set($iter, SELECTED_COLUMN, 1);
}
}
$this->addwidget($this->widget);
$this->tip($this->list_view);
$this->addhelp;
$this->fill(1);
$this->expand(1);
}
sub value {
my $this=shift;
my $list_view = $this->list_view;
my $list_store = $list_view->get_model ();
my ($ret, $val);
my @vals;
$this->question->template->i18n('');
my @choices=$this->question->choices_split;
$this->question->template->i18n(1);
my $iter = $list_store->get_iter_first();
for (my $i=0; $i <= $#choices; $i++) {
if ($list_store->get($iter, SELECTED_COLUMN)) {
push @vals, $choices[$i];
}
$iter = $list_store->iter_next($iter);
}
return join(', ', $this->order_values(@vals));
}
*visible = \&Debconf::Element::Multiselect::visible;
1