|
|
 |
|
|
|
 |
Matt,
I wrapped the wxAboutDialog. It is not the most useful addition, but I wanted
to try something simple before I try to tackle something more complex.
On my copy, I tacked it to the end of wxDialog.cpp.
object WXEUAPI new_wxAboutDialogInfo(object params)
{
wxAboutDialogInfo * aboutInfo = new wxAboutDialogInfo();
return BOX_INT( aboutInfo );
}
void WXEUAPI about_dlg_add_artist(int info, object person)
{
((wxAboutDialogInfo*)info)->AddArtist( get_string( person ) );
wxDeRefDS( person );
}
void WXEUAPI about_dlg_add_developer(int info, object person)
{
((wxAboutDialogInfo*)info)->AddDeveloper( get_string( person ) );
wxDeRefDS( person );
}
void WXEUAPI about_dlg_add_doc_writer(int info, object person)
{
((wxAboutDialogInfo*)info)->AddDocWriter( get_string( person ) );
wxDeRefDS( person );
}
void WXEUAPI about_dlg_add_translator(int info, object person)
{
((wxAboutDialogInfo*)info)->AddTranslator( get_string( person ) );
wxDeRefDS( person );
}
void WXEUAPI about_dlg_set_copyright(int info, object copyright)
{
((wxAboutDialogInfo*)info)->SetCopyright( get_string( copyright ) );
wxDeRefDS( copyright );
}
void WXEUAPI about_dlg_set_description(int info, object desc)
{
((wxAboutDialogInfo*)info)->SetDescription( get_string( desc ) );
wxDeRefDS( desc );
}
void WXEUAPI about_dlg_set_icon(int info, int icon)
{
wxIcon ico = *((wxIcon*)icon);
((wxAboutDialogInfo*)info)->SetIcon( ico);
}
void WXEUAPI about_dlg_set_license(int info, object license)
{
((wxAboutDialogInfo*)info)->SetLicense( get_string( license ) );
wxDeRefDS( license );
}
void WXEUAPI about_dlg_set_name(int info, object name)
{
((wxAboutDialogInfo*)info)->SetLicense( get_string( name ) );
wxDeRefDS( name );
}
void WXEUAPI about_dlg_set_version(int info, object version)
{
((wxAboutDialogInfo*)info)->SetVersion( get_string( version ) );
wxDeRefDS( version );
}
void WXEUAPI about_dlg_set_web_site(int info, object params)
{
/*
--/li /b url
--/li /b desc = wxEmptyString
SetWebSite(const wxString& url, const wxString& desc = wxEmptyString)
*/
int len = ((s1_ptr)SEQ_PTR(params))->length;
wxString desc = wxEmptyString;
if (len == 2) {
desc = get_string( params, 2);
} else
((wxAboutDialogInfo*)info)->SetWebSite( get_string( params, 1), desc );
wxDeRefDS( params );
}
void WXEUAPI about_dlg_show(int info)
{
wxAboutBox( *((wxAboutDialogInfo*)info) );
}
I also have the exports, updated wxeud.e, and a sample program. Let me know
if you
would like me to email it to you.