Gapp
view release on metacpan or search on metacpan
lib/Gapp/Object.pm view on Meta::CPAN
$self->_apply_signals;
$self->_apply_customize;
return $w;
}
# create and set the actual gobject
sub _construct_gobject {
my ( $self ) = @_;
my $gclass = $self->gclass;
my $gconstructor = $self->constructor;
# use any build-arguments if they exist
my $w = $gclass->$gconstructor( $self->args ? @{$self->args} : ( ) );
$self->set_gobject( $w );
return $w;
}
1;
__END__
=pod
=head1 NAME
Gapp::Widget - The base class for all Gapp widgets
=head1 OBJECT HIERARCHY
=over 4
=item L<Gapp::Widget>
=back
=head1 DESCRIPTION
All Gapp widgets inherit from L<Gapp::Widget>.
=head1 PROVIDED ATTRIBUTES
=over 4
=item B<args>
=over 4
=item isa: ArrayRef|Undef
=item default: undef
=back
If C<args> is set, the contents of the ArrayRef will be passed into the
constructor when the Gtk+ widget is instantiated. The example below will create
a popup window instead of a standard toplevel window.
Gapp::Window->new( args => [ 'popup' ] );
=item B<gclass>
=over 4
=item isa: ClassName
=item required: lazy
=back
This is the class of the CGObject> to be created. Most Gapp widgets provide
this in their class definition, but you can override it by passing in your own
value.
Gapp::Window->new( gclass => 'Gtk2::Ex::CustomWindow' );
=item B<constructor>
=over 4
=item isa: Str|CodeRef
=item default: new
=back
This constructor is called on the C<gclass> to instantiate a Gtk+ widget. Change
the constructor if you want to use the helpers provided by Gtk+ like
C<new_with_label> or C<new_with_mnemonic>.
=item B<customize>
=over 4
=item isa: CodeRef|Undef
=item default: undef
=back
Setting the C<customize> attribute allows you to tweak the Gtk+ widget after it
has been instantiated. Use this sparingly, you should define the appearnce of
your widgets using L<Gapp::Layout>.
If you find you need to use C<customize> because parts of Gapp are incomplete,
or could be remedied by more robustness, please file a bug or submit a patch.
=item B<expand>
=over 4
=item isa: Bool
=item default: 0
=back
If the widget should expand inside it's container. (Table widgets ignore this
value because widget expansion is determind by the L<Gapp::TableMap>)
( run in 1.014 second using v1.01-cache-2.11-cpan-364913b4093 )