{
$Gapp::RadioMenuItem::VERSION = '0.482';
}
use Moose;
has '+gclass' => (
default => 'Gtk2::RadioMenuItem',
);
has 'value' => (
is => 'rw',
isa => 'Str',
default => '1',
);
# create and set the actual gobject
sub _construct_gobject {
my ( $self ) = @_;
my $gtk_class = $self->gclass;
my $gtk_constructor = $self->constructor;
# determine the radio group
my $group = $self->field && $self->parent ?
$self->parent->{_rdo_groups}{ $self->field } :
undef;
# use any build-arguments if they exist
my $w = $gtk_class->$gtk_constructor( $group, $self->args ? @{$self->args} : ( ) );
$self->set_gobject( $w );
# save the radio group in the parent
if ( $self->parent ) {
$self->parent->{_rdo_groups}{ $self->field } ||= $w->get_group;
}
return $w;
}
sub get_field_value {
my $self = shift;
my $state = $self->gobject->get_active;
if ( $state ) {
return $self->value;
}
}
sub widget_to_stash {
my ( $self, $stash ) = @_;
my $state = $self->gobject->get_active;
if ( $state ) {
$stash->store( $self->field, $self->get_field_value );
}
}
sub stash_to_widget {
my ( $self, $stash ) = @_;
$self->set_field_value( $stash->fetch( $self->field ) );
}
#sub _connect_changed_handler {
# my ( $self ) = @_;
#
# $self->gobject->signal_connect (
# released => sub { $self->_widget_value_changed; }
# );
#}
1;
__END__
=pod
=head1 NAME
Gapp::ImageMenuItem - ImageMenuItem Widget
=head1 OBJECT HIERARCHY
=over 4
=item L<Gapp::Widget>
=item +-- L<Gapp::MenuItem>
=item ....+-- L<Gapp::ImageMenuItem>
=back
=head2 Roles
=over 4
=item L<Gapp::Meta::Widget::Native::Role::HasIcon>
=item L<Gapp::Meta::Widget::Native::Role::HasImage>
=back
=head1 AUTHORS
Jeffrey Ray Hallock E<lt>jeffrey.hallock at gmail dot comE<gt>
=head1 COPYRIGHT & LICENSE
Copyright (c) 2011-2012 Jeffrey Ray Hallock.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
=cut