NAME

Tie::Wx::Widget - get and set the main value of a Wx widget with less syntax

SYNOPSIS

use Tie::Wx::Widget;

tie $tiedwidget, Tie::Wx::Widget, $widget;

say $tiedwidget;       # instead of say $widgetref->GetValue;

$tiedwidget = 7;       # instead of $widgetref->SetValue(7);

untie $tiedwidget;     # now $tiedwidget is a normal scalar again (not required)

ATTENTION

Your program will die, if you don't provide a proper reference to a Wx widget, that has a GetValue and SetValue method. Unless you init with

use Tie::Wx::Widget 'warn_mode';

or do later:

Tie::Wx::Widget::warn_mode();

Then will be called warn instead of die. But you can switch anytime back with:

Tie::Wx::Widget::die_mode();

Wich has only effect for all variables afterwards. Because if the Wx ref is not good there will be no tying anyway.

INTERNALS

# how to get a reference to the Tie::Wx::Widget object ?
$tieobject = tie $tiedwidget, Tie::Wx::Widget, $widget;
$tieobject = tied $tiedwidget;

# now you even can:
$tieobject->FETCH()
# aka:
$tieobject->{'widget'}->GetValue;
# or do any other method on the wx object
$tieobject->{'w'}->Show(0);
# works too (hides the widget)
$tieobject->STORE(7);

# doesn't do anything
$tieobject->DESTROY()

BUGS

Please report any bugs or feature requests to bug-tie-wx-widget at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Tie-Wx-Widget. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

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

perldoc Tie::Wx::Widget

You can also look for information at:

ACKNOWLEDGEMENTS

This was solely my idea.

AUTHOR

Herbert Breunung, <lichtkind at cpan.org>

LICENSE AND COPYRIGHT

Copyright 2011 Herbert Breunung.

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

See http://dev.perl.org/licenses/ for more information.