// Created: 28.06.99
// RCS-ID: $Id$
// Copyright: (c) Robert Roebling
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "clipboardbase.h"
#endif
#endif
#include "wx/clipbrd.h"
+#include "wx/module.h"
-//--------------------------------------------------------------------------
-// wxClipboardBase
-//--------------------------------------------------------------------------
+#if wxUSE_CLIPBOARD
-wxClipboardBase::wxClipboardBase()
+static wxClipboard *gs_clipboard = NULL;
+
+/*static*/ wxClipboard *wxClipboardBase::Get()
{
+ if ( !gs_clipboard )
+ {
+ gs_clipboard = new wxClipboard;
+ }
+ return gs_clipboard;
}
// ----------------------------------------------------------------------------
-// wxClipboardModule: module responsible for initializing the global clipboard
+// wxClipboardModule: module responsible for destroying the global clipboard
// object
// ----------------------------------------------------------------------------
class wxClipboardModule : public wxModule
{
public:
- wxClipboardModule() { }
-
- bool OnInit()
- { wxTheClipboard = new wxClipboard; return TRUE; }
- void OnExit()
- { delete wxTheClipboard; wxTheClipboard = (wxClipboard *)NULL; }
+ bool OnInit() { return true; }
+ void OnExit() { wxDELETE(gs_clipboard); }
private:
DECLARE_DYNAMIC_CLASS(wxClipboardModule)
};
-// ----------------------------------------------------------------------------
-// global data defined here
-// ----------------------------------------------------------------------------
-
IMPLEMENT_DYNAMIC_CLASS(wxClipboardModule, wxModule)
+
+#endif // wxUSE_CLIPBOARD