26#include <wx/clipbrd.h>
30#include <wx/sstream.h>
41 if( wxTheClipboard->Open() )
44 wxTheClipboard->SetData(
45 new wxTextDataObject( wxString( aTextUTF8.c_str(), wxConvUTF8 ) ) );
47 wxTheClipboard->Flush();
48 wxTheClipboard->Close();
63 if( wxTheClipboard->Open() )
65 if( wxTheClipboard->IsSupported( wxDF_TEXT )
66 || wxTheClipboard->IsSupported( wxDF_UNICODETEXT ) )
68 wxTextDataObject data;
69 wxTheClipboard->GetData( data );
73 result = data.GetText().utf8_str();
76 wxTheClipboard->Close();
85 std::unique_ptr<wxImage>
image;
89 if( wxTheClipboard->Open() )
91 if( wxTheClipboard->IsSupported( wxDF_BITMAP ) )
93 wxImageDataObject data;
94 if( wxTheClipboard->GetData( data ) )
96 image = std::make_unique<wxImage>( data.GetImage() );
99 else if( wxTheClipboard->IsSupported( wxDF_FILENAME ) )
101 wxFileDataObject data;
102 if( wxTheClipboard->GetData( data ) && data.GetFilenames().size() == 1 )
104 image = std::make_unique<wxImage>( data.GetFilenames()[0] );
111 wxTheClipboard->Close();
122 if( wxTheClipboard->Open() )
124 wxDataObjectComposite* data =
new wxDataObjectComposite();
128 wxStringOutputStream os;
132 data->Add(
new wxTextDataObject( os.GetString() ),
true );
141 wxTheClipboard->SetData( data );
142 wxTheClipboard->Flush();
143 wxTheClipboard->Close();
160 if( wxTheClipboard->Open() )
162 if( wxTheClipboard->IsSupported( wxDF_TEXT ) )
164 wxTextDataObject data;
165 if( wxTheClipboard->GetData( data ) )
173 wxTheClipboard->Close();
void WriteLines(const std::vector< std::vector< wxString > > &aRows)
Write a vector of rows to the stream.
bool SaveTabularDataToClipboard(const std::vector< std::vector< wxString > > &aData)
Store tabular data to the system clipboard.
bool SaveClipboard(const std::string &aTextUTF8)
Store information to the system clipboard.
std::string GetClipboardUTF8()
Return the information currently stored in the system clipboard.
std::unique_ptr< wxImage > GetImageFromClipboard()
Get image data from the clipboard, if there is any.
bool GetTabularDataFromClipboard(std::vector< std::vector< wxString > > &aData)
Attempt to get tabular data from the clipboard.
bool AutoDecodeCSV(const wxString &aInput, std::vector< std::vector< wxString > > &aData)
Try to guess the format of a T/CSV file and decode it into aData.