NCBI C++ ToolKit
simple_clipboard.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: simple_clipboard.cpp 46059 2021-01-21 18:38:06Z grichenk $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Authors: Yury Voronov
27  *
28  */
29 
30 #include <ncbi_pch.hpp>
32 #include <corelib/ncbimtx.hpp>
33 
35 
36 unique_ptr<CSimpleClipboard> CSimpleClipboard::m_Clipboard;
37 
38 // singleton object access
40 {
41  // as far as Simple Clipboard does not contain any data
42  // it is safe even to replace it accidentally, so we
43  // don't need any protective mutex
44 
45  if( m_Clipboard.get() == NULL ){
46  m_Clipboard.reset( new CSimpleClipboard() );
47  }
48  return *m_Clipboard;
49 }
50 
52 {
53  wxClipboardLocker guard;
54  if( !guard ) return;
55 
56  wxTheClipboard->Clear();
57 }
58 
60 {
61  try {
62  return Get<wxString>();
63 
64  } catch( CException& ){
65  return wxT("");
66  }
67 }
68 
wxString MakeWxString() const
static unique_ptr< CSimpleClipboard > m_Clipboard
static CSimpleClipboard & Instance()
#define NULL
Definition: ncbistd.hpp:225
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define wxT(x)
Definition: muParser.cpp:41
Multi-threading – mutexes; rw-locks; semaphore.
Modified on Tue May 07 08:17:04 2024 by modify_doxy.py rev. 669887