63 |
|
|
64 |
if ($type eq 'BOOLEAN') { |
if ($type eq 'BOOLEAN') { |
65 |
$ret = Libconf::GUI::Gtk2::CheckButton->new($default, $data_mapping->{BOOLEAN}, @widget_options); |
$ret = Libconf::GUI::Gtk2::CheckButton->new($default, $data_mapping->{BOOLEAN}, @widget_options); |
66 |
|
} elsif ($type eq 'INTEGER') { |
67 |
|
$ret = Libconf::GUI::Gtk2::SpinButton->new($default, $data_mapping->{BOOLEAN}, @widget_options); |
68 |
} elsif ($type eq 'STRING') { |
} elsif ($type eq 'STRING') { |
69 |
if ($is_combo) { |
if ($is_combo) { |
70 |
$ret = gtkcombo_setpopdown_strings(Libconf::GUI::Gtk2::Combo->new($default, $data_mapping->{STRING}, @widget_options), |
$ret = gtkcombo_setpopdown_strings(Libconf::GUI::Gtk2::Combo->new($default, $data_mapping->{STRING}, @widget_options), |
211 |
$ret; |
$ret; |
212 |
} |
} |
213 |
|
|
214 |
|
package Libconf::GUI::Gtk2::SpinButton; |
215 |
|
|
216 |
|
use ugtk2 qw(:helpers :wrappers :create); |
217 |
|
|
218 |
|
our @ISA = qw(Gtk2::SpinButton); |
219 |
|
|
220 |
|
sub new { |
221 |
|
print " - ********************************* new spin\n"; |
222 |
|
my ($class, $default, $data_mapping, @widget_options) = @_; |
223 |
|
my $adj = create_adjustment(0, 0, 65535); |
224 |
|
my $self = $class->SUPER::new($adj, 1, 0, @widget_options); |
225 |
|
$self->{default_value} = $default; |
226 |
|
$self->{data_mapping} = $data_mapping; |
227 |
|
bless $self, $class; |
228 |
|
# gtksignal_connect($self->entry, changed => sub { |
229 |
|
# my ($widget) = @_; |
230 |
|
# my $value = $widget->get_text(); |
231 |
|
# print " setting : -- " . $value . "\n"; |
232 |
|
# $self->{value} = $value; |
233 |
|
# print " getvalue : -- " . $self->get_value() . "\n"; |
234 |
|
# }); |
235 |
|
print " - end new spin\n"; |
236 |
|
return $self; |
237 |
|
} |
238 |
|
|
239 |
|
sub set_default { |
240 |
|
my ($self) = @_; |
241 |
|
# my $default_value = $self->get_data('default_value'); |
242 |
|
my $default_value = $self->{'default_value'}; |
243 |
|
$self->set_value($default_value); |
244 |
|
# defined $self->{'data_mapping'} and $default_value = $self->{'data_mapping'}->($default_value); |
245 |
|
$self->{'value'} = $default_value; |
246 |
|
# $self->set_data('value', $default_value); |
247 |
|
} |
248 |
|
|
249 |
|
sub set_value { |
250 |
|
my ($self, $value) = @_; |
251 |
|
# $self->set_data('value', $value); |
252 |
|
$self->{value} = $value; |
253 |
|
Gtk2::SpinButton::set_value($self, $value); |
254 |
|
# $self->set_text($value); |
255 |
|
# defined $self->{'data_mapping'} and $value = $self->{'data_mapping'}->($value); |
256 |
|
# $self->set_active($value); |
257 |
|
} |
258 |
|
|
259 |
|
sub get_value { |
260 |
|
my ($self) = @_; |
261 |
|
# my $value = $self->get_data('value'); |
262 |
|
my $value = $self->{value}; |
263 |
|
# defined $self->{'data_mapping'} and $value = $self->{'data_mapping'}->($value); |
264 |
|
$value; |
265 |
|
} |
266 |
|
|
267 |
|
|
268 |
package Libconf::GUI::Gtk2::Combo; |
package Libconf::GUI::Gtk2::Combo; |
269 |
|
|
270 |
use ugtk2 qw(:helpers :wrappers :create); |
use ugtk2 qw(:helpers :wrappers :create); |
301 |
my ($self, $value) = @_; |
my ($self, $value) = @_; |
302 |
# $self->set_data('value', $value); |
# $self->set_data('value', $value); |
303 |
$self->{value} = $value; |
$self->{value} = $value; |
304 |
|
$self->entry->set_text($value); |
305 |
# $self->set_text($value); |
# $self->set_text($value); |
306 |
# defined $self->{'data_mapping'} and $value = $self->{'data_mapping'}->($value); |
# defined $self->{'data_mapping'} and $value = $self->{'data_mapping'}->($value); |
307 |
# $self->set_active($value); |
# $self->set_active($value); |