#############################################################################
## Name: XS/TreeCtrl.xs
## Purpose: XS for Wx::TreeCtrl
## Author: Mattia Barbon
## Modified by:
## Created: 04/02/2001
## RCS-ID: $Id: TreeCtrl.xs,v 1.21 2003/08/16 21:26:28 mbarbon Exp $
## Copyright: (c) 2001-2003 Mattia Barbon
## Licence: This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself
#############################################################################
#include <wx/treectrl.h>
#include "cpp/overload.h"
MODULE=Wx PACKAGE=Wx::TreeItemData
Wx_TreeItemData*
Wx_TreeItemData::new( data = 0 )
SV_null* data
CODE:
RETVAL = new wxPliTreeItemData( data );
OUTPUT:
RETVAL
void
Wx_TreeItemData::Destroy()
CODE:
delete THIS;
SV_null*
Wx_TreeItemData::GetData()
CODE:
RETVAL = THIS->m_data;
OUTPUT:
RETVAL
void
Wx_TreeItemData::SetData( data = 0 )
SV_null* data
CODE:
THIS->SetData( data );
Wx_TreeItemId*
Wx_TreeItemData::GetId()
CODE:
RETVAL = new wxTreeItemId( THIS->GetId() );
OUTPUT:
RETVAL
void
Wx_TreeItemData::SetId( id )
Wx_TreeItemId* id
CODE:
THIS->SetId( *id );
MODULE=Wx PACKAGE=Wx::TreeItemId
void
Wx_TreeItemId::DESTROY()
bool
Wx_TreeItemId::IsOk()
int
tiid_spaceship( tid1, tid2, ... )
SV* tid1
SV* tid2
CODE:
// this is not a proper spaceship method
// it just allows autogeneration of != and ==
// anyway, comparing ids is useless
RETVAL = -1;
if( SvROK( tid1 ) && SvROK( tid2 ) &&
sv_derived_from( tid1, CHAR_P "Wx::TreeItemId" ) &&
sv_derived_from( tid2, CHAR_P "Wx::TreeItemId" ) )
{
Wx_TreeItemId* id1 = (Wx_TreeItemId*)
wxPli_sv_2_object( aTHX_ tid1, "Wx::TreeItemId" );
Wx_TreeItemId* id2 = (Wx_TreeItemId*)
wxPli_sv_2_object( aTHX_ tid2, "Wx::TreeItemId" );
RETVAL = *id1 == *id2 ? 0 : 1;
} else
RETVAL = 1;
OUTPUT:
RETVAL
MODULE=Wx PACKAGE=Wx::TreeEvent
Wx_TreeEvent*
Wx_TreeEvent::new( commandType = wxEVT_NULL, id = 0 )
wxEventType commandType
int id
Wx_TreeItemId*
Wx_TreeEvent::GetItem()
CODE:
RETVAL = new wxTreeItemId( THIS->GetItem() );
OUTPUT:
RETVAL
int
Wx_TreeEvent::GetKeyCode()
Wx_TreeItemId*
Wx_TreeEvent::GetOldItem()
CODE:
RETVAL = new wxTreeItemId( THIS->GetOldItem() );
OUTPUT:
RETVAL
Wx_Point*
Wx_TreeEvent::GetPoint()
CODE:
RETVAL = new wxPoint( THIS->GetPoint() );
OUTPUT:
RETVAL
bool
Wx_TreeEvent::IsEditCancelled()
wxString
Wx_TreeEvent::GetLabel()
MODULE=Wx PACKAGE=Wx::TreeCtrl
void
new( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_VOIDM_REDISP( newDefault )
MATCH_ANY_REDISP( newFull )
END_OVERLOAD( "Wx::TreeCtrl::new" )
wxTreeCtrl*
newDefault( CLASS )
PlClassName CLASS
CODE:
RETVAL = new wxPliTreeCtrl( CLASS );
wxPli_create_evthandler( aTHX_ RETVAL, CLASS );
OUTPUT: RETVAL
Wx_TreeCtrl*
newFull( CLASS, parent, id, pos = wxDefaultPosition, size = wxDefaultSize, style = wxTR_HAS_BUTTONS, validator = (wxValidator*)&wxDefaultValidator, name = wxT("treeCtrl") )
PlClassName CLASS
Wx_Window* parent
wxWindowID id
Wx_Point pos
Wx_Size size
long style
Wx_Validator* validator
wxString name
CODE:
RETVAL = new wxPliTreeCtrl( CLASS, parent, id, pos, size,
style, *validator, name );
OUTPUT:
RETVAL
bool
wxTreeCtrl::Create( parent, id, pos = wxDefaultPosition, size = wxDefaultSize, style = wxTR_HAS_BUTTONS, validator = (wxValidator*)&wxDefaultValidator, name = wxT("treeCtrl") )
wxWindow* parent
wxWindowID id
wxPoint pos
wxSize size
long style
wxValidator* validator
wxString name
C_ARGS: parent, id, pos, size, style, *validator, name
Wx_TreeItemId*
Wx_TreeCtrl::AddRoot( text, image = -1, selImage = -1, data = 0 )
wxString text
int image
int selImage
Wx_TreeItemData* data
CODE:
RETVAL = new wxTreeItemId( THIS->AddRoot( text, image, selImage, data ) );
OUTPUT:
RETVAL
Wx_TreeItemId*
Wx_TreeCtrl::AppendItem( parent, text, image = -1, selImage = -1, data = 0 )
Wx_TreeItemId* parent
wxString text
int image
int selImage
Wx_TreeItemData* data
CODE:
RETVAL = new wxTreeItemId( THIS->AppendItem( *parent, text, image,
selImage, data ) );
OUTPUT:
RETVAL
void
Wx_TreeCtrl::Collapse( item )
Wx_TreeItemId* item
CODE:
THIS->Collapse( *item );
void
Wx_TreeCtrl::CollapseAndReset( item )
Wx_TreeItemId* item
CODE:
THIS->CollapseAndReset( *item );
void
Wx_TreeCtrl::Delete( item )
Wx_TreeItemId* item
CODE:
THIS->Delete( *item );
void
wxTreeCtrl::DeleteChildren( item )
wxTreeItemId* item;
CODE:
THIS->DeleteChildren( *item );
void
Wx_TreeCtrl::DeleteAllItems()
void
Wx_TreeCtrl::EditLabel( item )
Wx_TreeItemId* item
CODE:
THIS->EditLabel( *item );
#if defined( __WXMSW__ ) || defined( __WXPERL_FORCE__ )
void
Wx_TreeCtrl::EndEditLabel( cancelEdit )
bool cancelEdit
#endif
void
Wx_TreeCtrl::EnsureVisible( item )
Wx_TreeItemId* item
CODE:
THIS->EnsureVisible( *item );
void
Wx_TreeCtrl::Expand( item )
Wx_TreeItemId* item
CODE:
THIS->Expand( *item );
void
Wx_TreeCtrl::GetBoundingRect( item, textOnly = FALSE )
Wx_TreeItemId* item
bool textOnly
PREINIT:
wxRect rect;
PPCODE:
bool ret = THIS->GetBoundingRect( *item, rect, textOnly );
if( ret )
{
SV* ret = sv_newmortal();
wxPli_non_object_2_sv( aTHX_ ret, new wxRect( rect ), "Wx::Rect" );
XPUSHs( ret );
}
else
{
XSRETURN_UNDEF;
}
size_t
Wx_TreeCtrl::GetChildrenCount( item, recursively = TRUE )
Wx_TreeItemId* item
bool recursively
CODE:
RETVAL = THIS->GetChildrenCount( *item, recursively );
OUTPUT:
RETVAL
int
Wx_TreeCtrl::GetCount()
Wx_TreeItemData*
Wx_TreeCtrl::GetItemData( item )
Wx_TreeItemId* item
CODE:
RETVAL = (wxPliTreeItemData*) THIS->GetItemData( *item );
OUTPUT:
RETVAL
SV_null*
Wx_TreeCtrl::GetPlData( item )
Wx_TreeItemId* item
CODE:
wxPliTreeItemData* data = (wxPliTreeItemData*) THIS->GetItemData( *item );
RETVAL = data ? data->m_data : 0;
OUTPUT:
RETVAL
#if defined( __WXMSW__ ) || defined( __WXPERL_FORCE__ )
Wx_TextCtrl*
Wx_TreeCtrl::GetEditControl()
#endif
void
Wx_TreeCtrl::GetFirstChild( item )
Wx_TreeItemId* item
PREINIT:
#if WXPERL_W_VERSION_GE( 2, 5, 0 )
void* cookie;
#else
long cookie;
#endif
PPCODE:
wxTreeItemId ret = THIS->GetFirstChild( *item, cookie );
#if !WXPERL_W_VERSION_GE( 2, 5, 0 )
if( !ret.IsOk() ) cookie = -1;
#endif
EXTEND( SP, 2 );
PUSHs( wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
new wxTreeItemId( ret ),
"Wx::TreeItemId" ) );
#if WXPERL_W_VERSION_GE( 2, 5, 0 )
PUSHs( sv_2mortal( newSViv( PTR2IV( cookie ) ) ) );
#else
PUSHs( sv_2mortal( newSViv( cookie ) ) );
#endif
Wx_TreeItemId*
Wx_TreeCtrl::GetFirstVisibleItem()
CODE:
RETVAL = new wxTreeItemId( THIS->GetFirstVisibleItem() );
OUTPUT:
RETVAL
wxImageList*
wxTreeCtrl::GetImageList()
OUTPUT:
RETVAL
CLEANUP:
wxPli_object_set_deleteable( aTHX_ ST(0), FALSE );
int
Wx_TreeCtrl::GetIndent()
int
Wx_TreeCtrl::GetItemImage( item, which = wxTreeItemIcon_Normal )
Wx_TreeItemId* item
wxTreeItemIcon which
CODE:
RETVAL = THIS->GetItemImage( *item, which );
OUTPUT:
RETVAL
wxString
Wx_TreeCtrl::GetItemText( item )
Wx_TreeItemId* item
CODE:
RETVAL = THIS->GetItemText( *item );
OUTPUT:
RETVAL
Wx_TreeItemId*
Wx_TreeCtrl::GetLastChild( item )
Wx_TreeItemId* item
CODE:
RETVAL = new wxTreeItemId( THIS->GetLastChild( *item ) );
OUTPUT:
RETVAL
#if WXPERL_W_VERSION_GE( 2, 5, 0 )
void
Wx_TreeCtrl::GetNextChild( item, cookie )
Wx_TreeItemId* item
IV cookie
PREINIT:
void* realcookie = INT2PTR( void*, cookie );
PPCODE:
wxTreeItemId ret = THIS->GetNextChild( *item, realcookie );
EXTEND( SP, 2 );
PUSHs( wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
new wxTreeItemId( ret ),
"Wx::TreeItemId" ) );
PUSHs( sv_2mortal( newSViv( PTR2IV( realcookie ) ) ) );
#else
void
Wx_TreeCtrl::GetNextChild( item, cookie )
Wx_TreeItemId* item
long cookie
PPCODE:
wxTreeItemId ret = THIS->GetNextChild( *item, cookie );
EXTEND( SP, 2 );
PUSHs( wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
new wxTreeItemId( ret ),
"Wx::TreeItemId" ) );
PUSHs( sv_2mortal( newSViv( cookie ) ) );
#endif
Wx_TreeItemId*
Wx_TreeCtrl::GetNextSibling( item )
Wx_TreeItemId* item
CODE:
RETVAL = new wxTreeItemId( THIS->GetNextSibling( *item ) );
OUTPUT:
RETVAL
Wx_TreeItemId*
Wx_TreeCtrl::GetNextVisible( item )
Wx_TreeItemId* item
CODE:
RETVAL = new wxTreeItemId( THIS->GetNextVisible( *item ) );
OUTPUT:
RETVAL
void
wxTreeCtrl::GetParent( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_VOIDM_REDISP( Wx::Window::GetParent )
MATCH_REDISP( wxPliOvl_wtid, GetItemParent )
END_OVERLOAD( Wx::TreeCtrl::GetParent )
Wx_TreeItemId*
Wx_TreeCtrl::GetItemParent( item )
Wx_TreeItemId* item
CODE:
RETVAL = new wxTreeItemId(
THIS->GetItemParent( *item )
);
OUTPUT:
RETVAL
Wx_TreeItemId*
Wx_TreeCtrl::GetPrevSibling( item )
Wx_TreeItemId* item
CODE:
RETVAL = new wxTreeItemId( THIS->GetPrevSibling( *item ) );
OUTPUT:
RETVAL
Wx_TreeItemId*
Wx_TreeCtrl::GetPrevVisible( item )
Wx_TreeItemId* item
CODE:
RETVAL = new wxTreeItemId( THIS->GetPrevVisible( *item ) );
OUTPUT:
RETVAL
Wx_TreeItemId*
Wx_TreeCtrl::GetRootItem()
CODE:
RETVAL = new wxTreeItemId( THIS->GetRootItem() );
OUTPUT:
RETVAL
Wx_TreeItemId*
Wx_TreeCtrl::GetSelection()
CODE:
RETVAL = new wxTreeItemId( THIS->GetSelection() );
OUTPUT:
RETVAL
void
Wx_TreeCtrl::GetSelections()
PREINIT:
wxArrayTreeItemIds selections;
PPCODE:
size_t num = THIS->GetSelections( selections );
EXTEND( SP, (IV)num );
for( size_t i = 0; i < num; ++i )
{
PUSHs( wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
new wxTreeItemId( selections[i] ),
"Wx::TreeItemId" ) );
}
wxImageList*
wxTreeCtrl::GetStateImageList()
OUTPUT:
RETVAL
CLEANUP:
wxPli_object_set_deleteable( aTHX_ ST(0), FALSE );
void
Wx_TreeCtrl::HitTest( point )
Wx_Point point
PREINIT:
int flags;
PPCODE:
wxTreeItemId ret = THIS->HitTest( point, flags );
EXTEND( SP, 2 );
PUSHs( wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
new wxTreeItemId( ret ),
"Wx::TreeItemId" ) );
PUSHs( sv_2mortal( newSViv( flags ) ) );
void
wxTreeCtrl::InsertItem( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wtid_wtid_s_n_n, InsertItemPrev, 3 )
MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wtid_n_s_n_n, InsertItemBef, 3 )
END_OVERLOAD( Wx::TreeCtrl::InsertItem )
Wx_TreeItemId*
Wx_TreeCtrl::InsertItemPrev( parent, previous, text, image = -1, selImage = -1, data = 0 )
Wx_TreeItemId* parent
Wx_TreeItemId* previous
wxString text
int image
int selImage
Wx_TreeItemData* data
CODE:
RETVAL = new wxTreeItemId( THIS->InsertItem( *parent, *previous, text,
image, selImage, data ) );
OUTPUT:
RETVAL
Wx_TreeItemId*
Wx_TreeCtrl::InsertItemBef( parent, before, text, image = -1, selImage = -1, data = 0 )
Wx_TreeItemId* parent
size_t before
wxString text
int image
int selImage
Wx_TreeItemData* data
CODE:
RETVAL = new wxTreeItemId( THIS->InsertItem( *parent, before, text,
image, selImage, data ) );
OUTPUT:
RETVAL
bool
Wx_TreeCtrl::IsBold( item )
Wx_TreeItemId* item
CODE:
RETVAL = THIS->IsBold( *item );
OUTPUT:
RETVAL
bool
Wx_TreeCtrl::IsExpanded( item )
Wx_TreeItemId* item
CODE:
RETVAL = THIS->IsExpanded( *item );
OUTPUT:
RETVAL
bool
Wx_TreeCtrl::IsSelected( item )
Wx_TreeItemId* item
CODE:
RETVAL = THIS->IsSelected( *item );
OUTPUT:
RETVAL
bool
Wx_TreeCtrl::IsVisible( item )
Wx_TreeItemId* item
CODE:
RETVAL = THIS->IsVisible( *item );
OUTPUT:
RETVAL
bool
Wx_TreeCtrl::ItemHasChildren( item )
Wx_TreeItemId* item
CODE:
RETVAL = THIS->ItemHasChildren( *item );
OUTPUT:
RETVAL
int
Wx_TreeCtrl::OnCompareItems( item1, item2 )
Wx_TreeItemId* item1
Wx_TreeItemId* item2
CODE:
RETVAL = THIS->wxTreeCtrl::OnCompareItems( *item1, *item2 );
OUTPUT:
RETVAL
Wx_TreeItemId*
Wx_TreeCtrl::PrependItem( parent, text, image = -1, selImage = -1, data = 0 )
Wx_TreeItemId* parent
wxString text
int image
int selImage
Wx_TreeItemData* data
CODE:
RETVAL = new wxTreeItemId( THIS->PrependItem( *parent, text, image,
selImage, data ) );
OUTPUT:
RETVAL
void
Wx_TreeCtrl::ScrollTo( item )
Wx_TreeItemId* item
CODE:
THIS->ScrollTo( *item );
void
Wx_TreeCtrl::SelectItem( item )
Wx_TreeItemId* item
CODE:
THIS->SelectItem( *item );
void
Wx_TreeCtrl::SetIndent( indent )
int indent
void
Wx_TreeCtrl::SetImageList( list )
Wx_ImageList* list
void
Wx_TreeCtrl::SetItemBackgroundColour( item, col )
Wx_TreeItemId* item
Wx_Colour col
CODE:
THIS->SetItemBackgroundColour( *item, col );
void
Wx_TreeCtrl::SetItemBold( item, bold = TRUE )
Wx_TreeItemId* item
bool bold
CODE:
THIS->SetItemBold( *item, bold );
void
Wx_TreeCtrl::SetItemData( item, data )
Wx_TreeItemId* item
Wx_TreeItemData* data
CODE:
wxTreeItemData* tid = THIS->GetItemData( *item );
if( tid ) delete tid;
THIS->SetItemData( *item, data );
void
Wx_TreeCtrl::SetPlData( item, data )
Wx_TreeItemId* item
SV_null* data
CODE:
wxTreeItemData* tid = THIS->GetItemData( *item );
if( tid ) delete tid;
THIS->SetItemData( *item, data ? new wxPliTreeItemData( data ) : 0 );
void
Wx_TreeCtrl::SetItemFont( item, font )
Wx_TreeItemId* item
Wx_Font* font
CODE:
THIS->SetItemFont( *item, *font );
void
Wx_TreeCtrl::SetItemHasChildren( item, hasChildren = TRUE )
Wx_TreeItemId* item
bool hasChildren
CODE:
THIS->SetItemHasChildren( *item, hasChildren );
void
Wx_TreeCtrl::SetItemImage( item, image, which = wxTreeItemIcon_Normal )
Wx_TreeItemId* item
int image
wxTreeItemIcon which
CODE:
THIS->SetItemImage( *item, image, which );
void
Wx_TreeCtrl::SetItemText( item, text )
Wx_TreeItemId* item
wxString text
CODE:
THIS->SetItemText( *item, text );
void
Wx_TreeCtrl::SetItemTextColour( item, col )
Wx_TreeItemId* item
Wx_Colour col
CODE:
THIS->SetItemTextColour( *item, col );
void
Wx_TreeCtrl::SetStateImageList( imagelist )
Wx_ImageList* imagelist
void
Wx_TreeCtrl::SortChildren( item )
Wx_TreeItemId* item
CODE:
THIS->SortChildren( *item );
void
Wx_TreeCtrl::Toggle( item )
Wx_TreeItemId* item
CODE:
THIS->Toggle( *item );
void
Wx_TreeCtrl::Unselect()
void
Wx_TreeCtrl::UnselectAll()