New wxDataObject, DnD and Clipboard code
A few more minor fixes git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1194 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -408,21 +408,41 @@ void MyPanel::OnPasteFromClipboard( wxCommandEvent &WXUNUSED(event) )
|
||||
{
|
||||
#ifdef __WXGTK__
|
||||
|
||||
if (!wxTheClipboard->IsSupportedFormat( wxDF_TEXT )) return;
|
||||
if (!wxTheClipboard->IsSupportedFormat( wxDF_TEXT ))
|
||||
{
|
||||
*m_text << "The clipboard doesn't contain any data in the requested format." << "\n";
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (!wxTheClipboard->Open())
|
||||
{
|
||||
*m_text << "Error opening the clipboard." << "\n";
|
||||
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
*m_text << "Successfully opened the clipboard." << "\n";
|
||||
}
|
||||
|
||||
wxTextDataObject *data = new wxTextDataObject();
|
||||
|
||||
if (!wxTheClipboard->ObtainData( wxDF_TEXT )) return;
|
||||
if (wxTheClipboard->GetData( data ))
|
||||
{
|
||||
*m_text << "Successfully retrieved data from the clipboard." << "\n";
|
||||
*m_multitext << data->GetText() << "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
*m_text << "Error getting data from the clipboard." << "\n";
|
||||
}
|
||||
|
||||
wxTheClipboard->Close();
|
||||
|
||||
int size = wxTheClipboard->GetDataSize()+1;
|
||||
*m_text << "Closed the clipboard." << "\n";
|
||||
|
||||
char *data = new char[size];
|
||||
|
||||
data[size-1] = 0;
|
||||
|
||||
wxTheClipboard->GetDataHere( data );
|
||||
|
||||
*m_multitext << data << "\n";
|
||||
|
||||
delete[] data;
|
||||
delete data;
|
||||
|
||||
#endif
|
||||
}
|
||||
@@ -437,8 +457,30 @@ void MyPanel::OnCopyToClipboard( wxCommandEvent &WXUNUSED(event) )
|
||||
|
||||
wxTextDataObject *data = new wxTextDataObject( text );
|
||||
|
||||
wxTheClipboard->SetData( data );
|
||||
if (!wxTheClipboard->Open())
|
||||
{
|
||||
*m_text << "Error opening the clipboard." << "\n";
|
||||
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
*m_text << "Successfully opened the clipboard." << "\n";
|
||||
}
|
||||
|
||||
if (!wxTheClipboard->SetData( data ))
|
||||
{
|
||||
*m_text << "Error while copying to the clipboard." << "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
*m_text << "Successfully copied data to the clipboard." << "\n";
|
||||
}
|
||||
|
||||
wxTheClipboard->Close();
|
||||
|
||||
*m_text << "Closed the clipboard." << "\n";
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@@ -77,8 +77,6 @@ END_EVENT_TABLE()
|
||||
MyCanvas::MyCanvas( wxWindow *parent, const wxWindowID id, const wxPoint &pos, const wxSize &size )
|
||||
: wxScrolledWindow( parent, id, pos, size, wxSUNKEN_BORDER )
|
||||
{
|
||||
wxImage image;
|
||||
|
||||
wxBitmap bitmap( 100, 100 );
|
||||
|
||||
wxMemoryDC dc;
|
||||
@@ -88,14 +86,14 @@ MyCanvas::MyCanvas( wxWindow *parent, const wxWindowID id, const wxPoint &pos, c
|
||||
dc.DrawRectangle( 0, 0, 100, 100 );
|
||||
dc.SelectObject( wxNullBitmap );
|
||||
|
||||
image = bitmap.ConvertToImage();
|
||||
wxImage image( bitmap );
|
||||
image.SaveFile( "../test.png", wxBITMAP_TYPE_PNG );
|
||||
|
||||
image.LoadFile( "../horse.png", wxBITMAP_TYPE_PNG );
|
||||
my_horse = new wxBitmap( image );
|
||||
my_horse = new wxBitmap( image.ConvertToBitmap() );
|
||||
|
||||
image.LoadFile( "../test.png", wxBITMAP_TYPE_PNG );
|
||||
my_square = new wxBitmap( image );
|
||||
my_square = new wxBitmap( image.ConvertToBitmap() );
|
||||
}
|
||||
|
||||
MyCanvas::~MyCanvas(void)
|
||||
|
Reference in New Issue
Block a user