Implemented wxURLDataObject for wxGTK using text/x-moz-url
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52219 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -402,4 +402,53 @@ void wxBitmapDataObject::DoConvertToPng()
|
||||
image.SaveFile(mstream, wxBITMAP_TYPE_PNG);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxURLDataObject
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxURLDataObject::wxURLDataObject(const wxString& url) :
|
||||
wxDataObjectSimple( wxDataFormat( gdk_atom_intern("text/x-moz-url",FALSE) ) )
|
||||
{
|
||||
m_url = url;
|
||||
}
|
||||
|
||||
size_t wxURLDataObject::GetDataSize() const
|
||||
{
|
||||
if (m_url.empty())
|
||||
return 0;
|
||||
|
||||
return 2*m_url.Len()+2;
|
||||
}
|
||||
|
||||
bool wxURLDataObject::GetDataHere(void *buf) const
|
||||
{
|
||||
if (m_url.empty())
|
||||
return false;
|
||||
|
||||
wxCSConv conv( "UCS2" );
|
||||
conv.FromWChar( (char*) buf, 2*m_url.Len()+2, m_url.wc_str() );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// copy data from buffer to our data
|
||||
bool wxURLDataObject::SetData(size_t len, const void *buf)
|
||||
{
|
||||
if (len == 0)
|
||||
{
|
||||
m_url = wxEmptyString;
|
||||
return false;
|
||||
}
|
||||
|
||||
wxCSConv conv( "UCS2" );
|
||||
wxWCharBuffer res = conv.cMB2WC( (const char*) buf );
|
||||
m_url = res;
|
||||
int pos = m_url.Find( '\n' );
|
||||
if (pos != wxNOT_FOUND)
|
||||
m_url.Remove( pos, m_url.Len() - pos );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
#endif // wxUSE_DATAOBJ
|
||||
|
||||
Reference in New Issue
Block a user