1 /////////////////////////////////////////////////////////////////////////////
2 // Name: cpp/singlechoicedialog.h
3 // Purpose: c++ wrapper for wxSingleChoiceDialog
4 // Author: Mattia Barbon
7 // RCS-ID: $Id: singlechoicedialog.h 2057 2007-06-18 23:03:00Z mbarbon $
8 // Copyright: (c) 2001-2002 Mattia Barbon
9 // Licence: This program is free software; you can redistribute it and/or
10 // modify it under the same terms as Perl itself
11 /////////////////////////////////////////////////////////////////////////////
13 // increments reference count of client data upon construction,
14 // and decrements it upon destruction
15 class wxPliSingleChoiceDialog:public wxSingleChoiceDialog
18 wxPliSingleChoiceDialog( wxWindow* parent, const wxString& message,
19 const wxString& caption, int n,
20 const wxString* choices, SV** clientdata,
21 long style, const wxPoint& pos );
22 ~wxPliSingleChoiceDialog();
28 inline wxPliSingleChoiceDialog::wxPliSingleChoiceDialog
29 ( wxWindow* parent, const wxString& message, const wxString& caption,
30 int n, const wxString* choices, SV** clientdata, long style,
32 :wxSingleChoiceDialog( parent, message, caption, n, choices,
33 (char**)clientdata, style, pos ),
41 for( i = 0; i < n; ++i )
43 SvREFCNT_inc( clientdata[i] );
46 m_data = new SV*[ n ];
48 memcpy( m_data, clientdata, n * sizeof( SV* ) );
52 inline wxPliSingleChoiceDialog::~wxPliSingleChoiceDialog()
59 for( i = 0; i < m_num; ++i )
61 SvREFCNT_dec( m_data[i] );
68 // Local variables: //