ManaTools::Shared::GUI::ExtWidget

Section: User Contributed Perl Documentation (3)
Updated: 2017-07-06
Page Index
 

NAME

ManaTools::Shared::GUI::ExtWidget - Class to manage a selection widget which has different controls  

SYNOPSIS

use ManaTools::Shared::GUI::ExtWidget;

my $extwidget = ManaTools::Shared::GUI::ExtWidget->new(name => ``Selection1'', eventHandler => $dialog, parentWidget => $widget, callback => { my $self = shift; my $yevent = shift; my $backenditem = $_; ... });

$extwidget->addSelectorItem(``Label 1'', $backenditem1, sub {
    my ($self, $parent$backendItem) = @_;
    my $dialog = $self->parentDialog();
    my $factory = $dialog->factory();
    my $vbox = $factory->createVBox($parent);
    my $button1 = $self->addWidget($backendItem->label() .'_button1', $factory->createPushButton('Button 1', $vbox), sub {
        my $self = shift;
        my $yevent = shift;
        my $backendItem = shift;
        my $selectorWidget = $self->eventHandler();
        ...
    }, $backendItem);
    my $button2 = $self->addWidget($backendItem->label() .'_button2', $factory->createPushButton('Button 2', $vbox), sub {...}, $backendItem);
    ... }); $extwidget->addSelectorItem(``Label 2'', $backenditem2, sub { my ($self, $parent, $backendItem) = @_; my $factory = $self->parentDialog()->factory(); my $vbox = $factory->createVBox($parent); ... } ); $extwidget->addSelectorItem(``Label 3'', $backenditem3, sub { my ($self, $parent, $backendItem) = @_; my $factory = $self->parentDialog()->factory(); my $vbox = $factory->createVBox($parent); ... } ); $extwidget->addSelectorItem(``Label 4'', $backenditem4, sub { my ($self, $parent, $backendItem) = @_; my $factory = $self->parentDialog()->factory(); my $vbox = $factory->createVBox($parent); ... } ); $extwidget->finishedSelectorItems();  

DESCRIPTION

This class wraps a selector Widget with backend items to handle  

SUPPORT

You can find documentation for this module with the perldoc command:

perldoc ManaTools::Shared::GUI::ExtWidget  

SEE ALSO

yui::YSelectionWidget  

AUTHOR

Maarten Vanraes <alien@rmail.be>  

COPYRIGHT and LICENSE

Copyright (C) 2015-2016, Maarten Vanraes.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2, as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA  

FUNCTIONS

 

new

INPUT

    hash ref containing
        name:               a name for the widget to add event to the eventHandler
        eventHandler:       the parent that does eventHandlerRole
        parentWidget:       the parent widget
        callback:           optional parameter to execute a callback when an item has changed

DESCRIPTION

    new is inherited from Moose, to create a ExtWidget object

 

_buildSelectorWidget

INPUT

    $self: this object
    $parentWidget: yui:YWidget as parent

OUTPUT

    ($selector, $parent): $selector is the YSelectionWidget; $parent is the replacepoint's parent

DESCRIPTION

    builds the selection widget, needs to be overridden in subclasses

 

_finishSelectorWidget

INPUT

    $self: this object

DESCRIPTION

    finalizes the selection widget, needs to be overridden in subclasses

 

buildSelectionWidget

INPUT

    $self: this object

DESCRIPTION

    builds the selection widget

 

_selectorItem

INPUT

    $self: this object
    $yevent: yui::YEvent

OUTPUT

    YItem: the selected item

DESCRIPTION

    returns the items that is selected when an event fires

 

processEvent

INPUT

    $self: this object
    $yevent: yui::YEvent

DESCRIPTION

    handles the SelectorWidget events and executes callback if necessary

 

addSelectorItem

INPUT

    $self: this object
    $label: a label for the YItem
    $backendItem: a backendItem needed to identify and/or handle the event
    $buildWidget: a CodeRef to rebuild the widget when required

OUTPUT

    the created ManaTools::Shared::GUI::ExtWidget::Item

DESCRIPTION

    Creates an item and adds it to the ExtWidget. Internally, it creates a
    yui::YItem and adds it to the YItemCollection. If it's the first item,
    mark it as the lastitem.

 

findSelectorItem

INPUT

    $self: this object
    $yitem: the YItem to be found

DESCRIPTION

    returns a ManaTools::Shared::GUI::ExtWidget::Item that has the YItem

 

buildSelectorItem

INPUT

    $self: this object
    $item: the item to be built (child widgets from this SelectorWidget will be recreated inside the associated replacepoint)

DESCRIPTION

    builds an item on the internal replace point

 

clearSelectorItems

INPUT

    $self: this object

DESCRIPTION

    clears the selectorWidget of items to prepare for re-adding new items, call finishedSelectorItems() afterwards

 

finishedSelectorItems

INPUT

    $self: this object

DESCRIPTION

    finalizes the items on the ExtWidget


 

Index

NAME
SYNOPSIS
DESCRIPTION
SUPPORT
SEE ALSO
AUTHOR
COPYRIGHT and LICENSE
FUNCTIONS
new
_buildSelectorWidget
_finishSelectorWidget
buildSelectionWidget
_selectorItem
processEvent
addSelectorItem
findSelectorItem
buildSelectorItem
clearSelectorItems
finishedSelectorItems