############################################################################# ## Name: Wx::Perl::TreeChecker::XmlHandler ## Purpose: XRC handler for Wx::Perl::TreeChecker ## Author: Simon Flack ## Modified by: $Author: simonflack $ on $Date: 2004/04/17 22:17:13 $ ## Created: 28/11/2002 ## RCS-ID: $Id: XmlHandler.pm,v 1.1 2004/04/17 22:17:13 simonflack Exp $ ############################################################################# package Wx::Perl::TreeChecker::XmlHandler; use strict; use vars qw/@ISA $VERSION/; use Wx qw(:misc :treectrl); @ISA = 'Wx::PlXmlResourceHandler'; $VERSION = sprintf'%d.%02d', q$Revision: 1.1 $ =~ /: (\d+)\.(\d+)/; sub new { my $class = shift; my $self = $class -> SUPER::new(@_); no strict 'refs'; for (grep /^wxTR_/, @{$Wx::EXPORT_TAGS{'treectrl'}}) { $self -> AddStyle ($_, &$_); } $self -> AddWindowStyles; return $self; } sub CanHandle { my $self = shift; my ($xmlnode) = @_; return $self -> IsOfClass ($xmlnode, 'Wx::Perl::TreeChecker'); } sub DoCreateResource { my $self = shift; my @args = ( $self -> GetID, $self -> GetPosition() || wxDefaultPosition, $self -> GetSize() || wxDefaultSize, $self -> GetStyle ('style', 0) || wxTR_HAS_BUTTONS, wxDefaultValidator, $self -> GetName () || 'treeChecker' ); my $ctrl; my $parent = $self -> GetInstance() || $self -> GetParentAsWindow(); if ($self -> GetInstance()) { $ctrl = Wx::Perl::TreeChecker -> Create ($parent, @args); } else { $ctrl = Wx::Perl::TreeChecker -> new ($parent, @args); } $self -> SetupWindow ($ctrl); $self -> CreateChildren ($ctrl); return $ctrl; } 1; =pod =head1 NAME Wx::Perl::TreeChecker::XmlHandler - XRC handler for Wx::Perl::TreeChecker =head1 SYNOPSIS use Wx::Perl::TreeChecker::XmlHandler; $xrc->AddHandler (new Wx::Perl::TreeChecker::XmlHandler); =head1 DESCRIPTION An Wx::XmlHandler for Wx::Perl::TreeChecker objects. Allows you to define tree checkers in your xml resource files. =head1 EXAMPLE =head1 AUTHOR Simon Flack Esimonflk _AT_ cpan.orgE =head1 COPYRIGHT Copyright 2003 Simon Flack Esimonflk _AT_ cpan.orgE. All rights reserved You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file. =cut