EUforum Messages
- Powered by Euphoria -
Post Reply Previous Next All Messages
Date: Fri May 9 17:02
From: Mike Sywensky <michaelsy at yah??.com>
Subject: Addition to wxEuphoria

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.

 
Post Reply Previous Next All Messages