Widget(3pm)

NAME
Lire::UI::Widget - Views for Lire::Config::Value object.

SYNOPSIS
  use Curses::UI;
  use Lire::Config;

  Lire::Config->init();
  my $ui = new Curses::UI();
  my $window = $ui->add( 'window', 'Window' );
  my $widget = $window->add( 'widget', 'Lire::UI::Widget',
                             'value' => Lire::Config->get_var( 'name' ));

DESCRIPTION
Lire::UI::Widget defines Curses::UI::Widget subclasses that can be used to edit Lire::Config::Value object.

  new( %args, 'value' => $value, [ onvaluechanged => $handler ] )
The new() method is really a factory method which instantiate a proper Lire::UI::Widget subclass based on the type of the Lire::Config::Value $value. The onvaluechanged is an event that will be trigger whenever the Lire::Config::Value is modified by the user.

  value()
Returns the Lire::Config::Value object which is edited by this view.

  onValueChanded( $code )
Changes the event handler connected to the 'onvaluechanged' event. This event is trigger whenever the Lire::Config::Value associated to this widget is modified.

  refresh_view()
This method can be called to update the view to reflect modifications to the underlying Lire::COnfig::Value.

SEE ALSO
  Lire::UI(3pm), Curses::UI(3pm)

VERSION
$Id: Widget.pm,v 1.27 2006/07/23 13:16:32 vanbaal Exp $

AUTHORS
  Francis J. Lacoste <flacoste@logreport.org>
  Wolfgang Sourdeau <wolfgang@logreport.org>

COPYRIGHT
Copyright (C) 2004 Stichting LogReport Foundation LogReport@LogReport.org

This file is part of Lire.

Lire is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

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 (see COPYING); if not, check with http://www.gnu.org/copyleft/gpl.html.