Wx
view release on metacpan or search on metacpan
ext/ribbon/t/03_threads.t view on Meta::CPAN
my $rtbar = Wx::RibbonToolBar->new($frame, -1);
my $artprov1 = $rbar->GetArtProvider->Clone;
my $artprov2 = $rbar->GetArtProvider->Clone;
my $artprov3 = Wx::RibbonDefaultArtProvider->new();
my $artprov4 = Wx::RibbonDefaultArtProvider->new();
my $rgitem1 = $rgallery->Append( Wx::Bitmap->new( 100, 100, -1 ), -1, MyDataContainer->new('Stashed Data 0'));
my $rgitem2 = $rgallery->Append( Wx::Bitmap->new( 100, 100, -1 ), -1, MyDataContainer->new('Stashed Data 1'));
my $cdata1 = $rgallery->GetItemClientData( $rgitem1 );
my $cdata2 = $rgitem2->GetClientData();
my ( $buttonbar, $button, $buttonbar2, $button2, $buttonbar3, $button3 );
if ( Wx::wxVERSION < 3.000000 ) {
$buttonbar = Wx::RibbonButtonBar->new($rpanel, -1 );
$button = $buttonbar->AddButton(-1, "Hello World",
Wx::Bitmap->new( 100, 100, -1 ), wxNullBitmap, wxNullBitmap, wxNullBitmap,
Wx::wxRIBBON_BUTTON_NORMAL(), "HW Help",
{ data => 'Stashed Data' } );
ext/ribbon/t/03_threads.t view on Meta::CPAN
my $toolbar2 = Wx::RibbonToolBar->new($rpanel, 1 );
my $tool2 = $toolbar2->AddTool(-1, Wx::Bitmap->new( 100, 100, -1 ), wxNullBitmap,
"HW Help", Wx::wxRIBBON_BUTTON_NORMAL(),
{ data => 'Stashed Data' } );
my $toolbar3 = Wx::RibbonToolBar->new($rpanel, 1 );
my $tool3 = $toolbar3->AddTool(-1, Wx::Bitmap->new( 100, 100, -1 ), wxNullBitmap,
"HW Help", Wx::wxRIBBON_BUTTON_NORMAL(),
{ data => 'Stashed Data' } );
isa_ok($cdata1, 'MyDataContainer');
is( $cdata1->{somedata}, 'Stashed Data 0' );
isa_ok($cdata2, 'MyDataContainer');
is( $cdata2->{somedata}, 'Stashed Data 1' );
undef $artprov2;
undef $artprov4;
undef $rgitem2;
undef $buttonbar2;
$buttonbar3->Destroy;
undef $buttonbar3;
undef $button2;
undef $button3;
undef $toolbar2;
ext/ribbon/t/04_userdata.t view on Meta::CPAN
#--------------------------------------------------------------
package main;
use Test::More 'tests' => 15;
use strict;
#use base 'Wx::Frame';
use vars '$TODO';
sub cdata($) { MyClass->new( $_[0] ) }
sub tests {
my $this = shift;
############################################################################
# wxRibbonGallery
############################################################################
my $gallery = Wx::RibbonGallery->new( $this, -1 );
my $rgitem3 = $gallery->Append( Wx::Bitmap->new( 100, 100, -1 ), -1, MyDataContainer->new('Stashed Data 0'));
my $rgitem4 = $gallery->Append( Wx::Bitmap->new( 100, 100, -1 ), -1, MyDataContainer->new('Stashed Data 1'));
is( $gallery->GetItemClientData( $rgitem4 )->get_data, 'Stashed Data 1', "Wx::RibbonGallery::GetItemClientData" );
is( $rgitem3->GetClientData()->get_data, 'Stashed Data 0', "Wx::RibbonGalleryItem::GetClientData" );
$rgitem3->SetClientData( MyDataContainer->new('Stashed Data 3') );
is( $gallery->GetItemClientData( $rgitem3 )->get_data, 'Stashed Data 3', "Wx::RibbonGallery::GetItemClientData ( again )" );
my $ctrldelete = 0;
my $ctrlitem = $gallery->AppendClientData( Wx::Bitmap->new( 100, 100, -1 ), -1, cdata(sub { $ctrldelete = 1 }) );
$gallery->Destroy;
ok( $ctrldelete, 'Wx::RibbonGallery: deleting the gallery deletes the data' );
############################################################################
# wxRibbonButtonBar
############################################################################
my $bitmap = Wx::Bitmap->new('../../wxpl.xpm', Wx::wxBITMAP_TYPE_XPM() );
my $ribbonpanel = Wx::RibbonPanel->new($this, -1);
ext/ribbon/t/04_userdata.t view on Meta::CPAN
my $button = $buttonbar->AddButton(-1, "Hello World",
$bitmap, wxNullBitmap, wxNullBitmap, wxNullBitmap,
Wx::wxRIBBON_BUTTON_NORMAL(), "HW Help",
MyDataContainer->new('Stashed Data 4') );
$ctrldelete = 0;
my $delbutton = $buttonbar->AddButton(-1, "Hello World",
$bitmap, wxNullBitmap, wxNullBitmap, wxNullBitmap,
Wx::wxRIBBON_BUTTON_NORMAL(), "HW Help",
cdata(sub { $ctrldelete = 1 } ) );
is( $button->GetClientData()->get_data, 'Stashed Data 4', "Wx::RibbonButtonBarButtonBase::GetClientData" );
ok( $ctrldelete == 0, 'Wx::RibbonButtonBar: Data not changed before delete' );
$delbutton->SetClientData(undef);
$buttonbar->Destroy;
ok( $ctrldelete, 'Wx::RibbonButtonBar: deleting the ribbonbuttonbar deletes the data' );
ext/ribbon/t/04_userdata.t view on Meta::CPAN
my $persistentdata = MyDataContainer->new('Stashed Persistent Data 1');
my $tbarbutton = $toolbar->AddTool(-1, $bitmap, wxNullBitmap,
"HW Help", Wx::wxRIBBON_BUTTON_NORMAL(),
$persistentdata );
$ctrldelete = 0;
my $autoid = $toolbar->AddTool(-1, $bitmap, wxNullBitmap,
"HW Help", Wx::wxRIBBON_BUTTON_NORMAL(),
cdata( sub { $ctrldelete = 1 } ) )->id; ;
is( $toolbar->GetToolClientData($toolid2)->get_data, 'Stashed Data 6', "Wx::RibbonToolBar::GetToolClientData For Tool 2" );
is( $toolbar->GetToolClientData($toolid1)->get_data, 'Stashed Data 5', "Wx::RibbonToolBar::GetToolClientData For Tool 1" );
is( $toolbar->GetToolClientData( $tbarbutton->id )->get_data,
'Stashed Persistent Data 1', "Wx::RibbonToolBar::GetToolClientData For Persistent data" );
ok( $ctrldelete == 0, 'Wx::RibbonToolBar: Data not changed before delete' );
# in wxRibbonToolBar ClientData is untyped void so we must delete the clientdata before we delete the tool
t/04_userdata.t view on Meta::CPAN
package main;
use Test::More 'tests' => 65;
use strict;
#use base 'Wx::Frame';
use vars '$TODO';
sub tdata($) { Wx::TreeItemData->new( MyClass->new( $_[0] ) ) }
sub cdata($) { MyClass->new( $_[0] ) }
sub tests {
my $this = shift;
############################################################################
# wxTreeCtrl
############################################################################
my $tree = Wx::TreeCtrl->new( $this, -1 );
my $root = $tree->AddRoot( 'Root', -1, -1,
t/04_userdata.t view on Meta::CPAN
is( $$outdata, 'Hubris', "Wx::TreeListCtrl::GetItemData again" );
$treelist->SetItemData($tlroot, Wx::TreeItemData->new( 'Aghast' ) );
$outdata = $treelist->GetItemData($tlroot)->GetData;
is( $outdata, 'Aghast', "Wx::TreeListCtrl::GetItemData From Wx::TreeItemData" );
## test deleting and setting again
my( $tldeleting, $tlsetting, $tlctrldelete ) = ( 0, 0, 0 );
my $tlitem1 = $treelist->AppendItem( $tlroot, 'An item', -1, -1,
cdata sub { $tldeleting = 1 } );
my $tlitem2 = $treelist->AppendItem( $tlroot, 'An item', -1, -1,
cdata sub { $tlsetting = 1 } );
my $tlitem3 = $treelist->AppendItem( $tlroot, 'An item', -1, -1,
cdata sub { $tlctrldelete = 1 } );
is( ref($treelist->GetItemData($tlitem1)), 'MyClass', 'Wx::TreeListCtrl Item Data is class');
$treelist->DeleteItem( $tlitem1 );
ok( $tldeleting, 'Wx::TreeListCtrl: deleting an item deletes the data' );
$treelist->SetItemData( $tlitem2, Wx::TreeItemData->new( 'foo' ) );
ok( $tlsetting, 'Wx::TreeListCtrl: setting again item data deletes old data' );
## and hope the tree is deleted NOW
$treelist->Destroy;
t/04_userdata.t view on Meta::CPAN
is( $list->GetClientData( 0 ), 'Bar', "$name: setting client data" );
is( $list->GetClientData( 1 ), 'Baz',
"$name: setting client data (again)" );
my $x = 1;
$list->SetClientData( 0, \$x );
$x = 2;
is( ${$list->GetClientData( 0 )}, 2,
"$name: client data is a reference" );
$list->Append( 'An item', cdata sub { $setting = 1 } );
$list->Append( 'An item', cdata sub { $ctrldelete = 1 } );
$list->Append( 'An item', cdata sub { $deleting = 1 } );
SKIP: {
skip "delayed on Mac", 1 if Wx::wxMAC && $list->isa( 'Wx::ListBox' );
$list->Delete( 4 );
ok( $deleting, "$name: deleting an item deletes the data" );
}
$list->SetClientData( 2, 'foo' );
ok( $setting, "$name: setting again item data deletes old data" );
# and hope the control is deleted NOW
$list->Destroy;
t/04_userdata.t view on Meta::CPAN
############################################################################
my $toolbar = Wx::ToolBar->new( $this, -1);
my $tool = $toolbar->AddTool(Wx::wxID_ANY(), Wx::Bitmap->new(16,16,1));
$tool = $toolbar->AddTool(Wx::wxID_ANY(), Wx::Bitmap->new(16,16,1));
my $toolid = $tool->GetId;
isnt($toolid, -1, 'Wx::ToolBar got valid tool id');
$toolbar->SetToolClientData( $toolid, 'Bar' );
is( $toolbar->GetToolClientData( $toolid ), 'Bar', 'Wx::ToolBar client data set');
$toolbar->Realize;
$ctrldelete = 0;
$toolbar->SetToolClientData( $toolid, cdata( sub { $ctrldelete = 1 } ));
ok( $ctrldelete == 0, 'Wx::ToolBar controldata not deleted' );
$toolbar->SetToolClientData( $toolid, undef );
ok( $ctrldelete, 'Wx::ToolBar - setting client data causes previous data deletion' );
}
in_frame( \&tests );
# local variables:
( run in 0.675 second using v1.01-cache-2.11-cpan-454fe037f31 )