Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Reaction::UI::ViewPortUser Contributed Perl DocumentaReaction::UI::ViewPort(3)

       Reaction::UI::ViewPort -	Page layout building block

	 # Create a new	ViewPort:
	 # $stack isa Reaction::UI::FocusStack object
	 my $vp	= $stack->push_viewport('Reaction::UI::ViewPort', layout => 'xhtml');

	 # Fetch ViewPort higher up the	stack (further out)
	 my $outer = $vp->outer();

	 # Fetch ViewPort lower	down (further in)
	 my $inner = $vp->inner();

	 # Create a named tangent stack	for this ViewPort
	 my $substack =	$vp->create_tangent('name');

	 # Retrieve a tangent stack for	this ViewPort
	 my $substack =	$vp->forcus_tangent('name');

	 # Get the names of all	the tangent stacks for this ViewPort
	 my @names = $vp->focus_tangents();

	 # Fetch all the tangent stacks	for this ViewPort
	 # This	is called by apply_events
	 my $stacks = $vp->child_event_sinks();

	 ### The following methods are all called automatically	when using
	 ### Reaction::UI::Controller(s)
	 # Resolve current events with this ViewPort
	 $vp->apply_events($ctx, $param_hash);

	 # Apply current events	to all tangent stacks
	 # This	is called by apply_events
	 $vp->apply_child_events($ctx, $params_hash);

	 # Apply current events	to this	ViewPort
	 # This	is called by apply_events
	 $vp->apply_our_events($ctx, $params_hash);

       A ViewPort describes part of a page, it can be a	field, a form or an
       entire page. ViewPorts are created on a Reaction::UI::FocusStack,
       usually belonging to a controller or another ViewPort. Each ViewPort
       knows it's own position in the stack it is in, as well as the stack
       containing it.

       Each ViewPort has a specific location in	the heirarchy of viewports
       making up a page. The hierarchy is determined as	follows: The first
       ViewPort	in a stack is labeled 0, the second is 1 and so	on. If a
       ViewPort	is in a	named tangent, it's location will contain the name of
       the tangent in it's location.

       For example, the	first ViewPort in the 'left' tangent of	the main
       ViewPort	has location "0.left.0".

       Several ViewPort	attributes are set by "push_viewport" in
       Reaction::UI::FocusStack	when new ViewPorts are created,	these are as

	       The outer attribute is set to the previous ViewPort in the
	       stack when creating a ViewPort, if the ViewPort is the first in
	       the stack, it will be undef.

	       The inner attribute is set to the next ViewPort down in the
	       stack when it is	created, if this is the	last ViewPort in the
	       stack, it will be undef.

	       The focus_stack attribute is set	to the
	       Reaction::UI::FocusStack	object that created the	ViewPort.

	   ctx The ctx attribute will be passed	automatically when using
	       "push_viewport" in Reaction::UI::Controller to create a
	       ViewPort	in the base stack of a controller. When	creating
	       tangent stacks, you may have to pass it in yourself.

	       The layout attribute can	either be specifically passed when
	       calling "push_viewport",	or it will be determined using the
	       last part of the	ViewPorts classname.

	       This read-only hashref attribute	will pass all it's keys	as
	       variables to the	layout at render time. They should be
	       accessible from both the	layout templates and the widget, if
	       applicable, through the %_ hash.

		   $controller->push_viewport(VPName, layout =>	'foo', layout_args => {	bar => 'bar'});
		   $_{bar} #in widget
		   [% bar %] in	template

	       This is generally used by more specialised ViewPorts such as
	       the ListView or Action. It can be either	a space	separated list
	       of column names,	or an arrayref of column names.

       Arguments: none

       Fetch the ViewPort outside this one in the page hierarchy.

       Arguments: none

       Fetch the ViewPort inside this one in the page hierarchy.

       Arguments: $tangent_name

       Create a	new named Reaction::UI::FocusStack inside this ViewPort. The
       created FocusStack is returned.

       Arguments: $tangent_name

       Fetch a named FocusStack	from this ViewPort.

       Arguments: none

       Returns a list of names of all the known	tangents in this ViewPort.

       Return the Reaction::UI::FocusStack object that this ViewPort is	in.

       Arguments: $ctx,	$params_hashref

       This method is called by	the FocusStack object to resolve all events
       for the ViewPort.

       Arguments: $ctx,	$params_hashref

       Resolve the given events	for all	the tangents of	this ViewPort. Called
       by apply_events.

       Arguments: $ctx,	$events

       Resolve the given events	that match the location	of this	ViewPort.
       Called by apply_events.

       Arguments: $events

       Actually	call the event handlers	for this ViewPort. Called by
       apply_our_events. By default this will do nothing, subclass ViewPort
       and implement accept_events.

       Arguments: none

       Implement this method in	a subclass and return a	list of	events that
       your ViewPort is	accepting.

       Arguments: $name

       Create an id for	the given event	name and this ViewPort.	Generally
       returns the location and	the name, joined with a	colon.

       Arguments: $spec, $items

       Sorts the given list of items such that the ones	that also appear in
       the spec	are at the beginning. This is called by
       Reaction::UI::ViewPort::Action and Reaction::UI::ViewPort::ListView,
       and gets	passed column_order as the spec	argument.

       See Reaction::Class for authors.

       See Reaction::Class for the license.

perl v5.32.0			  2010-10-29	     Reaction::UI::ViewPort(3)


Want to link to this manual page? Use this URL:

home | help