Gtk2::Ex::FormFactory::GtkWidget - Wrap arbitrary Gtk widgets


Gtk2-Ex-FormFactory documentation Contained in the Gtk2-Ex-FormFactory distribution.

Index


Code Index:

NAME

Top

Gtk2::Ex::FormFactory::GtkWidget - Wrap arbitrary Gtk widgets

SYNOPSIS

Top

  Gtk2::Ex::FormFactory::GtkWidget->new (
    custom_gtk_widget => Gtk::Widget,
    ...
    Gtk2::Ex::FormFactory::Widget attributes
  );

DESCRIPTION

Top

With this module you can add arbitrary Gtk widgets to a FormFactory. They're simply displayed, but their state isn't managed by Gtk2::Ex::FormFactory, because no details are known about the widget.

If you need the full functionality for a custom Gtk widget you need to implement your own Gtk2::Ex::FormFactory::Widget for it. Refer to the documentation of Gtk2::Ex::FormFactory::Widget for details about implementing your own FormFactory widgets.

OBJECT HIERARCHY

Top

  Gtk2::Ex::FormFactory::Intro

  Gtk2::Ex::FormFactory::Widget
  +--- Gtk2::Ex::FormFactory::GtkWidget

  Gtk2::Ex::FormFactory::Layout
  Gtk2::Ex::FormFactory::Rules
  Gtk2::Ex::FormFactory::Context
  Gtk2::Ex::FormFactory::Proxy

ATTRIBUTES

Top

Attributes are handled through the common get_ATTR(), set_ATTR() style accessors, but they are mostly passed once to the object constructor and must not be altered after the associated FormFactory was built.

custom_gtk_widget = Gtk::Widget [mandatory]

This is a Gtk::Widget to be displays inside a FormFactory.

For more attributes refer to Gtk2::Ex::FormFactory::Widget.

AUTHORS

Top

 Jörn Reder <joern at zyn dot de>

COPYRIGHT AND LICENSE

Top


Gtk2-Ex-FormFactory documentation Contained in the Gtk2-Ex-FormFactory distribution.

package Gtk2::Ex::FormFactory::GtkWidget;

use strict;

use base qw( Gtk2::Ex::FormFactory::Widget );

sub get_custom_gtk_widget	{ shift->{custom_gtk_widget}		}
sub set_custom_gtk_widget	{ shift->{custom_gtk_widget}	= $_[1]	}

sub get_type { "gtk_widget" }

sub new {
	my $class = shift;
	my %par = @_;
	my ($custom_gtk_widget) = $par{'custom_gtk_widget'};

	my $self = $class->SUPER::new(@_);
	
	$self->set_custom_gtk_widget($custom_gtk_widget);
	
	return $self;
}

sub cleanup {
	my $self = shift;
	
	$self->SUPER::cleanup(@_);
	$self->set_custom_gtk_widget(undef);

	1;
}

1;

__END__