X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/311c1be9edd5e8a0f6d3e2ac4d42ca8d96d9c855..c118a47691b0017042d07601a9d9a1eb6cf5f7f7:/samples/clipboard/clipboard.cpp?ds=sidebyside diff --git a/samples/clipboard/clipboard.cpp b/samples/clipboard/clipboard.cpp index 6a20dea42c..be9b0f9433 100644 --- a/samples/clipboard/clipboard.cpp +++ b/samples/clipboard/clipboard.cpp @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: clipboard.cpp -// Purpose: clipbaord wxWidgets sample +// Purpose: clipboard wxWidgets sample // Author: Robert Roebling // RCS-ID: $Id: minimal.cpp 53461 2008-05-05 23:30:33Z VZ $ // Copyright: (c) Robert Roebling @@ -9,7 +9,7 @@ // For compilers that support precompilation, includes "wx/wx.h". #include "wx/wxprec.h" - + #ifdef __BORLANDC__ #pragma hdrstop #endif @@ -27,7 +27,7 @@ #endif -#define USE_ASYNCHRONOUS_CLIPBOARD_REQUEST 0 +#define USE_ASYNCHRONOUS_CLIPBOARD_REQUEST 0 class MyApp : public wxApp { @@ -94,7 +94,7 @@ bool MyApp::OnInit() MyFrame *frame = new MyFrame("wxClipboard sample"); frame->Show(true); - + return true; } @@ -103,7 +103,7 @@ MyFrame::MyFrame(const wxString& title) { // set the frame icon SetIcon(wxICON(sample)); - + #if USE_ASYNCHRONOUS_CLIPBOARD_REQUEST m_request = Idle; m_clipboardSupportsText = false; @@ -129,7 +129,7 @@ MyFrame::MyFrame(const wxString& title) #endif // wxUSE_MENUS wxPanel *panel = new wxPanel( this, -1 ); - + wxBoxSizer *main_sizer = new wxBoxSizer( wxVERTICAL ); main_sizer->Add( new wxButton( panel, ID_Write, "Get clipboard text" ) ); m_textctrl = new wxTextCtrl( panel, ID_Text, "", wxDefaultPosition, @@ -148,7 +148,7 @@ void MyFrame::OnWriteClipboardContents(wxCommandEvent& WXUNUSED(event)) wxTheClipboard->GetData( data ); m_textctrl->Clear(); m_textctrl->SetValue( data.GetText() ); - + } wxTheClipboard->Close(); } @@ -167,10 +167,15 @@ void MyFrame::OnUpdateUI(wxUpdateUIEvent&event) #if USE_ASYNCHRONOUS_CLIPBOARD_REQUEST if (m_request == Idle) { - wxTheClipboard->IsSupportedAsync( this ); + if (!wxTheClipboard->IsSupportedAsync( this )) + { + // request failed, try again later + event.Enable( m_clipboardSupportsText ); // not yet known, assume last value + return; + } m_request = Waiting; event.Enable( m_clipboardSupportsText ); // not yet known, assume last value - } + } else if (m_request == Waiting) { event.Enable( m_clipboardSupportsText ); // not yet known, assume last value @@ -193,6 +198,7 @@ void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) { + wxMessageBox("Clipboard sample", "About clipboard", wxOK|wxICON_INFORMATION, this); }