diff --git a/include/wx/buffer.h b/include/wx/buffer.h
index ad956432ee..edbe953b21 100644
--- a/include/wx/buffer.h
+++ b/include/wx/buffer.h
@@ -172,6 +172,8 @@ private:
// the reference count
size_t m_ref;
+
+ DECLARE_NO_COPY_CLASS(wxMemoryBufferData)
};
diff --git a/include/wx/busyinfo.h b/include/wx/busyinfo.h
index ab9f5a6f2d..b4a902dc15 100644
--- a/include/wx/busyinfo.h
+++ b/include/wx/busyinfo.h
@@ -46,6 +46,8 @@ public:
private:
wxInfoFrame *m_InfoFrame;
+
+ DECLARE_NO_COPY_CLASS(wxBusyInfo)
};
diff --git a/include/wx/caret.h b/include/wx/caret.h
index d1dba59761..e34ed29d12 100644
--- a/include/wx/caret.h
+++ b/include/wx/caret.h
@@ -224,6 +224,8 @@ public:
private:
wxCaret *m_caret;
+
+ DECLARE_NO_COPY_CLASS(wxCaretSuspend)
};
#endif // wxUSE_CARET
diff --git a/include/wx/clipbrd.h b/include/wx/clipbrd.h
index f0a58a62ac..2e22ea752a 100644
--- a/include/wx/clipbrd.h
+++ b/include/wx/clipbrd.h
@@ -135,6 +135,8 @@ public:
private:
wxClipboard *m_clipboard;
+
+ DECLARE_NO_COPY_CLASS(wxClipboardLocker)
};
#endif // wxUSE_CLIPBOARD
diff --git a/include/wx/cmdline.h b/include/wx/cmdline.h
index bc8c893654..a6808091ea 100644
--- a/include/wx/cmdline.h
+++ b/include/wx/cmdline.h
@@ -209,6 +209,8 @@ private:
void Init();
struct wxCmdLineParserData *m_data;
+
+ DECLARE_NO_COPY_CLASS(wxCmdLineParser)
};
#else // !wxUSE_CMDLINE_PARSER
diff --git a/include/wx/cmdproc.h b/include/wx/cmdproc.h
index 4092fdffda..f059bd5187 100644
--- a/include/wx/cmdproc.h
+++ b/include/wx/cmdproc.h
@@ -123,6 +123,7 @@ protected:
private:
DECLARE_DYNAMIC_CLASS(wxCommandProcessor)
+ DECLARE_NO_COPY_CLASS(wxCommandProcessor)
};
#endif // _WX_CMDPROC_H_
diff --git a/include/wx/confbase.h b/include/wx/confbase.h
index 73c5e6a968..ba65608a01 100644
--- a/include/wx/confbase.h
+++ b/include/wx/confbase.h
@@ -307,6 +307,8 @@ private:
wxString m_strName, // name of entry (i.e. name only)
m_strOldPath; // saved path
bool m_bChanged; // was the path changed?
+
+ DECLARE_NO_COPY_CLASS(wxConfigPathChanger)
};
diff --git a/include/wx/cshelp.h b/include/wx/cshelp.h
index 89caf0084e..4b0b75c53b 100644
--- a/include/wx/cshelp.h
+++ b/include/wx/cshelp.h
@@ -174,6 +174,8 @@ public:
protected:
wxHelpControllerBase* m_helpController;
+
+ DECLARE_NO_COPY_CLASS(wxHelpControllerHelpProvider)
};
// Convenience function for turning context id into wxString
diff --git a/include/wx/dataobj.h b/include/wx/dataobj.h
index d87edeaff7..c35bbc0e0c 100644
--- a/include/wx/dataobj.h
+++ b/include/wx/dataobj.h
@@ -447,6 +447,8 @@ private:
{ return(wxDataObjectSimple::GetDataHere(format, pBuf)); }
bool SetData(const wxDataFormat& format, size_t nLen, const void* pBuf)
{ return(wxDataObjectSimple::SetData(format, nLen, pBuf)); }
+
+ DECLARE_NO_COPY_CLASS(wxCustomDataObject)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/datstrm.h b/include/wx/datstrm.h
index 0551b437cc..dc6e3f51a6 100644
--- a/include/wx/datstrm.h
+++ b/include/wx/datstrm.h
@@ -60,6 +60,8 @@ protected:
#if wxUSE_UNICODE
wxMBConv& m_conv;
#endif
+
+ DECLARE_NO_COPY_CLASS(wxDataInputStream)
};
class WXDLLEXPORT wxDataOutputStream
@@ -101,6 +103,8 @@ protected:
#if wxUSE_UNICODE
wxMBConv& m_conv;
#endif
+
+ DECLARE_NO_COPY_CLASS(wxDataOutputStream)
};
#endif
diff --git a/include/wx/dcbuffer.h b/include/wx/dcbuffer.h
index 51682aad1a..fc9454e4e3 100644
--- a/include/wx/dcbuffer.h
+++ b/include/wx/dcbuffer.h
@@ -72,6 +72,8 @@ public:
// to) is destroyed.
void UnMask();
+
+ DECLARE_NO_COPY_CLASS(wxBufferedDC)
};
diff --git a/include/wx/dir.h b/include/wx/dir.h
index 53d2214740..1e32ce38a5 100644
--- a/include/wx/dir.h
+++ b/include/wx/dir.h
@@ -132,6 +132,8 @@ private:
friend class WXDLLEXPORT wxDirData;
wxDirData *m_data;
+
+ DECLARE_NO_COPY_CLASS(wxDir)
};
#endif // _WX_DIR_H_
diff --git a/include/wx/dnd.h b/include/wx/dnd.h
index 9f62351647..d908020f3c 100644
--- a/include/wx/dnd.h
+++ b/include/wx/dnd.h
@@ -119,6 +119,8 @@ protected:
wxCursor m_cursorCopy,
m_cursorMove,
m_cursorStop;
+
+ DECLARE_NO_COPY_CLASS(wxDropSourceBase)
};
// ----------------------------------------------------------------------------
@@ -192,6 +194,8 @@ public:
protected:
wxDataObject *m_dataObject;
+
+ DECLARE_NO_COPY_CLASS(wxDropTargetBase)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/docmdi.h b/include/wx/docmdi.h
index 089a328ce4..be6f89a6eb 100644
--- a/include/wx/docmdi.h
+++ b/include/wx/docmdi.h
@@ -49,6 +49,7 @@ protected:
private:
DECLARE_CLASS(wxDocMDIParentFrame)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxDocMDIParentFrame)
};
/*
@@ -82,6 +83,7 @@ protected:
private:
DECLARE_EVENT_TABLE()
DECLARE_CLASS(wxDocMDIChildFrame)
+ DECLARE_NO_COPY_CLASS(wxDocMDIChildFrame)
};
#endif
diff --git a/include/wx/docview.h b/include/wx/docview.h
index 0a6ca711f4..fab912f35f 100644
--- a/include/wx/docview.h
+++ b/include/wx/docview.h
@@ -161,6 +161,7 @@ protected:
private:
DECLARE_ABSTRACT_CLASS(wxDocument)
+ DECLARE_NO_COPY_CLASS(wxDocument)
};
class WXDLLEXPORT wxView: public wxEvtHandler
@@ -221,9 +222,10 @@ protected:
wxDocument* m_viewDocument;
wxString m_viewTypeName;
wxWindow* m_viewFrame;
-
+
private:
DECLARE_ABSTRACT_CLASS(wxView)
+ DECLARE_NO_COPY_CLASS(wxView)
};
// Represents user interface (and other) properties of documents and views
@@ -290,6 +292,7 @@ protected:
private:
DECLARE_CLASS(wxDocTemplate)
+ DECLARE_NO_COPY_CLASS(wxDocTemplate)
};
// One object of this class may be created in an application, to manage all
@@ -420,6 +423,7 @@ protected:
static wxDocManager* sm_docManager;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxDocManager)
};
// ----------------------------------------------------------------------------
@@ -459,6 +463,7 @@ protected:
private:
DECLARE_CLASS(wxDocChildFrame)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxDocChildFrame)
};
// ----------------------------------------------------------------------------
@@ -492,6 +497,7 @@ protected:
private:
DECLARE_CLASS(wxDocParentFrame)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxDocParentFrame)
};
// ----------------------------------------------------------------------------
@@ -515,6 +521,7 @@ protected:
private:
DECLARE_DYNAMIC_CLASS(wxDocPrintout)
+ DECLARE_NO_COPY_CLASS(wxDocPrintout)
};
#endif // wxUSE_PRINTING_ARCHITECTURE
@@ -566,6 +573,7 @@ protected:
private:
DECLARE_DYNAMIC_CLASS(wxFileHistory)
+ DECLARE_NO_COPY_CLASS(wxFileHistory)
};
#if wxUSE_STD_IOSTREAM
diff --git a/include/wx/encconv.h b/include/wx/encconv.h
index 7b9589f355..71b4812e79 100644
--- a/include/wx/encconv.h
+++ b/include/wx/encconv.h
@@ -148,6 +148,7 @@ class WXDLLEXPORT wxEncodingConverter : public wxObject
bool m_UnicodeInput, m_UnicodeOutput;
bool m_JustCopy;
+ DECLARE_NO_COPY_CLASS(wxEncodingConverter)
};
#endif // wxUSE_FONTMAP
diff --git a/include/wx/evtloop.h b/include/wx/evtloop.h
index 80f0916e85..e2ae68ce6c 100644
--- a/include/wx/evtloop.h
+++ b/include/wx/evtloop.h
@@ -55,6 +55,8 @@ protected:
class WXDLLEXPORT wxEventLoopImpl *m_impl;
// the pointer to currently active loop
static wxEventLoop *ms_activeLoop;
+
+ DECLARE_NO_COPY_CLASS(wxEventLoop)
};
#endif // _WX_EVTLOOP_H_
diff --git a/include/wx/fdrepdlg.h b/include/wx/fdrepdlg.h
index aa3965ff6b..cc27bb9786 100644
--- a/include/wx/fdrepdlg.h
+++ b/include/wx/fdrepdlg.h
@@ -124,6 +124,8 @@ protected:
// the last string we searched for
wxString m_lastSearch;
+
+ DECLARE_NO_COPY_CLASS(wxFindReplaceDialogBase)
};
// include wxFindReplaceDialog declaration
diff --git a/include/wx/fileconf.h b/include/wx/fileconf.h
index f96d602b8a..b0e0b0b917 100644
--- a/include/wx/fileconf.h
+++ b/include/wx/fileconf.h
@@ -210,6 +210,8 @@ private:
#ifdef __UNIX__
int m_umask; // the umask to use for file creation
#endif // __UNIX__
+
+ DECLARE_NO_COPY_CLASS(wxFileConfig)
};
#endif
diff --git a/include/wx/filesys.h b/include/wx/filesys.h
index 814a41a314..f648962080 100644
--- a/include/wx/filesys.h
+++ b/include/wx/filesys.h
@@ -79,6 +79,7 @@ private:
wxDateTime m_Modif;
DECLARE_ABSTRACT_CLASS(wxFSFile)
+ DECLARE_NO_COPY_CLASS(wxFSFile)
};
@@ -202,6 +203,7 @@ protected:
// handler that succeed in FindFirst query
DECLARE_DYNAMIC_CLASS(wxFileSystem)
+ DECLARE_NO_COPY_CLASS(wxFileSystem)
};
diff --git a/include/wx/fontenum.h b/include/wx/fontenum.h
index 587dad4a66..35bde85fc1 100644
--- a/include/wx/fontenum.h
+++ b/include/wx/fontenum.h
@@ -84,6 +84,8 @@ public:
private:
wxArrayString *m_Facenames, *m_Encodings;
+
+ DECLARE_NO_COPY_CLASS(wxFontEnumerator)
};
#endif // _WX_FONTENUM_H_
diff --git a/include/wx/fontmap.h b/include/wx/fontmap.h
index eb4c48ea7d..726ce43fdf 100644
--- a/include/wx/fontmap.h
+++ b/include/wx/fontmap.h
@@ -188,6 +188,8 @@ protected:
private:
static wxFontMapper *sm_instance;
+
+ DECLARE_NO_COPY_CLASS(wxFontMapper)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/frame.h b/include/wx/frame.h
index 4228ea0c10..0fbb3f4e06 100644
--- a/include/wx/frame.h
+++ b/include/wx/frame.h
@@ -220,6 +220,7 @@ protected:
#endif // wxUSE_TOOLBAR
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxFrameBase)
};
// include the real class declaration
diff --git a/include/wx/fs_zip.h b/include/wx/fs_zip.h
index 0678587f36..5f4dc0b883 100644
--- a/include/wx/fs_zip.h
+++ b/include/wx/fs_zip.h
@@ -48,6 +48,8 @@ class WXDLLEXPORT wxZipFSHandler : public wxFileSystemHandler
wxHashTableLong *m_DirsFound;
wxString DoFind();
+
+ DECLARE_NO_COPY_CLASS(wxZipFSHandler)
};
diff --git a/include/wx/generic/calctrl.h b/include/wx/generic/calctrl.h
index 879ddcda07..209ef34855 100644
--- a/include/wx/generic/calctrl.h
+++ b/include/wx/generic/calctrl.h
@@ -298,6 +298,7 @@ private:
DECLARE_DYNAMIC_CLASS(wxCalendarCtrl)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxCalendarCtrl)
};
#endif // _WX_GENERIC_CALCTRL_H
diff --git a/include/wx/generic/choicdgg.h b/include/wx/generic/choicdgg.h
index 683092a3ee..b342683bb8 100644
--- a/include/wx/generic/choicdgg.h
+++ b/include/wx/generic/choicdgg.h
@@ -61,6 +61,8 @@ public:
protected:
wxListBox *m_listbox;
+
+ DECLARE_NO_COPY_CLASS(wxAnyChoiceDialog)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/generic/dirctrlg.h b/include/wx/generic/dirctrlg.h
index b19d21f647..27b5fa36ef 100644
--- a/include/wx/generic/dirctrlg.h
+++ b/include/wx/generic/dirctrlg.h
@@ -184,6 +184,7 @@ private:
private:
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxGenericDirCtrl)
+ DECLARE_NO_COPY_CLASS(wxGenericDirCtrl)
};
//-----------------------------------------------------------------------------
@@ -223,6 +224,7 @@ protected:
DECLARE_EVENT_TABLE()
DECLARE_CLASS(wxDirFilterListCtrl)
+ DECLARE_NO_COPY_CLASS(wxDirFilterListCtrl)
};
#if !defined(__WXMSW__) && !defined(__WXMAC__) && !defined(__WXPM__)
diff --git a/include/wx/generic/dragimgg.h b/include/wx/generic/dragimgg.h
index ad24c31e6e..cbfa4afb43 100644
--- a/include/wx/generic/dragimgg.h
+++ b/include/wx/generic/dragimgg.h
@@ -288,6 +288,7 @@ protected:
private:
DECLARE_DYNAMIC_CLASS(wxGenericDragImage)
+ DECLARE_NO_COPY_CLASS(wxGenericDragImage)
};
#endif
diff --git a/include/wx/generic/grid.h b/include/wx/generic/grid.h
index 164353ff47..7962a189dc 100644
--- a/include/wx/generic/grid.h
+++ b/include/wx/generic/grid.h
@@ -384,6 +384,8 @@ protected:
// suppress the stupid gcc warning about the class having private dtor and
// no friends
friend class wxGridCellEditorDummyFriend;
+
+ DECLARE_NO_COPY_CLASS(wxGridCellEditor)
};
#if wxUSE_TEXTCTRL
@@ -768,6 +770,8 @@ private:
void InitData();
wxGridCellAttrProviderData *m_data;
+
+ DECLARE_NO_COPY_CLASS(wxGridCellAttrProvider)
};
//////////////////////////////////////////////////////////////////////
@@ -856,6 +860,7 @@ private:
wxGridCellAttrProvider *m_attrProvider;
DECLARE_ABSTRACT_CLASS( wxGridTableBase );
+ DECLARE_NO_COPY_CLASS(wxGridTableBase)
};
@@ -899,6 +904,8 @@ private:
int m_id;
int m_comInt1;
int m_comInt2;
+
+ DECLARE_NO_COPY_CLASS(wxGridTableMessage)
};
@@ -1853,6 +1860,7 @@ protected:
DECLARE_DYNAMIC_CLASS( wxGrid )
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxGrid)
};
// ----------------------------------------------------------------------------
@@ -2001,6 +2009,7 @@ private:
wxControl* m_ctrl;
DECLARE_DYNAMIC_CLASS(wxGridEditorCreatedEvent)
+ DECLARE_NO_COPY_CLASS(wxGridEditorCreatedEvent)
};
diff --git a/include/wx/generic/gridsel.h b/include/wx/generic/gridsel.h
index 87fc640315..cae07fe7ef 100644
--- a/include/wx/generic/gridsel.h
+++ b/include/wx/generic/gridsel.h
@@ -83,6 +83,8 @@ private:
wxGrid::wxGridSelectionModes m_selectionMode;
friend class WXDLLEXPORT wxGrid;
+
+ DECLARE_NO_COPY_CLASS(wxGridSelection)
};
#endif // #ifdef __WXGRIDSEL_H__
diff --git a/include/wx/generic/progdlgg.h b/include/wx/generic/progdlgg.h
index 11c64d291e..cc98a5ca9a 100644
--- a/include/wx/generic/progdlgg.h
+++ b/include/wx/generic/progdlgg.h
@@ -124,6 +124,8 @@ private:
private:
// Virtual function hiding supression
virtual void Update() { wxDialog::Update(); }
+
+ DECLARE_NO_COPY_CLASS(wxProgressDialog)
};
#endif
diff --git a/include/wx/generic/sashwin.h b/include/wx/generic/sashwin.h
index dcd39f47f5..5d69c4cd9f 100644
--- a/include/wx/generic/sashwin.h
+++ b/include/wx/generic/sashwin.h
@@ -193,6 +193,7 @@ private:
private:
DECLARE_DYNAMIC_CLASS(wxSashWindow)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxSashWindow)
};
BEGIN_DECLARE_EVENT_TYPES()
diff --git a/include/wx/generic/splash.h b/include/wx/generic/splash.h
index 2bc789fad8..a3ccfa3897 100644
--- a/include/wx/generic/splash.h
+++ b/include/wx/generic/splash.h
@@ -67,6 +67,7 @@ protected:
DECLARE_DYNAMIC_CLASS(wxSplashScreen)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxSplashScreen)
};
/*
diff --git a/include/wx/generic/splitter.h b/include/wx/generic/splitter.h
index 26480fe129..8e1b7483e1 100644
--- a/include/wx/generic/splitter.h
+++ b/include/wx/generic/splitter.h
@@ -285,6 +285,7 @@ private:
DECLARE_DYNAMIC_CLASS(wxSplitterWindow)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxSplitterWindow)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/generic/textdlgg.h b/include/wx/generic/textdlgg.h
index 74fa8fa12e..e723081d02 100644
--- a/include/wx/generic/textdlgg.h
+++ b/include/wx/generic/textdlgg.h
@@ -66,6 +66,7 @@ protected:
private:
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxTextEntryDialog)
+ DECLARE_NO_COPY_CLASS(wxTextEntryDialog)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/generic/treectlg.h b/include/wx/generic/treectlg.h
index 7d42d09ae2..e24dd825ce 100644
--- a/include/wx/generic/treectlg.h
+++ b/include/wx/generic/treectlg.h
@@ -467,6 +467,7 @@ protected:
private:
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxGenericTreeCtrl)
+ DECLARE_NO_COPY_CLASS(wxGenericTreeCtrl)
};
#if !defined(__WXMSW__) || defined(__WIN16__) || defined(__WXUNIVERSAL__)
diff --git a/include/wx/generic/treelay.h b/include/wx/generic/treelay.h
index b202da646e..9a1973f37b 100644
--- a/include/wx/generic/treelay.h
+++ b/include/wx/generic/treelay.h
@@ -140,6 +140,7 @@ private:
private:
DECLARE_DYNAMIC_CLASS(wxTreeLayoutStored)
+ DECLARE_NO_COPY_CLASS(wxTreeLayoutStored)
};
// For backward compatibility
diff --git a/include/wx/generic/wizard.h b/include/wx/generic/wizard.h
index 68362e06ec..c74b7578f0 100644
--- a/include/wx/generic/wizard.h
+++ b/include/wx/generic/wizard.h
@@ -97,5 +97,6 @@ private:
DECLARE_DYNAMIC_CLASS(wxWizard)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxWizard)
};
diff --git a/include/wx/gifdecod.h b/include/wx/gifdecod.h
index 13a3a7b5a8..fac5e45639 100644
--- a/include/wx/gifdecod.h
+++ b/include/wx/gifdecod.h
@@ -78,6 +78,8 @@ public:
unsigned char *pal; /* palette */
GIFImage *next; /* next image */
GIFImage *prev; /* prev image */
+
+ DECLARE_NO_COPY_CLASS(GIFImage)
};
@@ -148,6 +150,8 @@ public:
// convert current frame to wxImage
bool ConvertToImage(wxImage *image) const;
+
+ DECLARE_NO_COPY_CLASS(wxGIFDecoder)
};
diff --git a/include/wx/hashmap.h b/include/wx/hashmap.h
index b17e283841..57a51c3b9c 100644
--- a/include/wx/hashmap.h
+++ b/include/wx/hashmap.h
@@ -24,6 +24,10 @@ struct WXDLLEXPORT _wxHashTable_NodeBase
_wxHashTable_NodeBase() : m_nxt(0) {}
_wxHashTable_NodeBase* m_nxt;
+
+// Cannot do this:
+// DECLARE_NO_COPY_CLASS(_wxHashTable_NodeBase)
+// without rewriting the macros, which require a public copy constructor.
};
// private
diff --git a/include/wx/html/helpctrl.h b/include/wx/html/helpctrl.h
index a2a795b243..c9981302fa 100644
--- a/include/wx/html/helpctrl.h
+++ b/include/wx/html/helpctrl.h
@@ -99,6 +99,8 @@ protected:
wxString m_titleFormat;
int m_FrameStyle;
// DECLARE_EVENT_TABLE()
+
+ DECLARE_NO_COPY_CLASS(wxHtmlHelpController)
};
#endif // wxUSE_WXHTML_HELP
diff --git a/include/wx/html/helpdata.h b/include/wx/html/helpdata.h
index cf318613f2..7439b3570f 100644
--- a/include/wx/html/helpdata.h
+++ b/include/wx/html/helpdata.h
@@ -115,6 +115,8 @@ private:
wxChar *m_Keyword;
bool m_CaseSensitive;
bool m_WholeWords;
+
+ DECLARE_NO_COPY_CLASS(wxSearchEngine)
};
@@ -147,6 +149,8 @@ private:
int m_CurIndex; // where we are now
int m_MaxIndex; // number of files we search
// For progress bar: 100*curindex/maxindex = % complete
+
+ DECLARE_NO_COPY_CLASS(wxHtmlSearchStatus)
};
class WXDLLEXPORT wxHtmlHelpData : public wxObject
@@ -205,6 +209,8 @@ protected:
bool LoadCachedBook(wxHtmlBookRecord *book, wxInputStream *f);
// Writes binary book
bool SaveCachedBook(wxHtmlBookRecord *book, wxOutputStream *f);
+
+ DECLARE_NO_COPY_CLASS(wxHtmlHelpData)
};
#endif
diff --git a/include/wx/html/helpfrm.h b/include/wx/html/helpfrm.h
index 3e0e6e9264..0f6ac5b4e6 100644
--- a/include/wx/html/helpfrm.h
+++ b/include/wx/html/helpfrm.h
@@ -226,6 +226,7 @@ protected:
int m_hfStyle;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxHtmlHelpFrame)
};
#endif // wxUSE_WXHTML_HELP
diff --git a/include/wx/html/htmlcell.h b/include/wx/html/htmlcell.h
index eb2b4bee51..f5bc99c58b 100644
--- a/include/wx/html/htmlcell.h
+++ b/include/wx/html/htmlcell.h
@@ -146,6 +146,8 @@ protected:
// true if this cell can be placed on pagebreak, false otherwise
wxString m_id;
// unique identifier of the cell, generated from "id" property of tags
+
+ DECLARE_NO_COPY_CLASS(wxHtmlCell)
};
@@ -259,6 +261,8 @@ protected:
int m_LastLayout;
// if != -1 then call to Layout may be no-op
// if previous call to Layout has same argument
+
+ DECLARE_NO_COPY_CLASS(wxHtmlContainerCell)
};
@@ -330,6 +334,8 @@ protected:
wxWindow* m_Wnd;
int m_WidthFloat;
// width float is used in adjustWidth (it is in percents)
+
+ DECLARE_NO_COPY_CLASS(wxHtmlWidgetCell)
};
diff --git a/include/wx/html/htmlpars.h b/include/wx/html/htmlpars.h
index 58f2f2bcc0..bcb7a9a030 100644
--- a/include/wx/html/htmlpars.h
+++ b/include/wx/html/htmlpars.h
@@ -174,6 +174,8 @@ protected:
wxList m_HandlersList;
wxHashTable m_HandlersHash;
+ DECLARE_NO_COPY_CLASS(wxHtmlParser)
+
// class for opening files (file system)
wxFileSystem *m_FS;
// handlers stack used by PushTagHandler and PopTagHandler
@@ -228,6 +230,8 @@ protected:
{ m_Parser->DoParsing(tag.GetBeginPos(), tag.GetEndPos1()); }
wxHtmlParser *m_Parser;
+
+ DECLARE_NO_COPY_CLASS(wxHtmlTagHandler)
};
@@ -264,6 +268,8 @@ protected:
wxMBConv *m_conv;
wxFontEncoding m_encoding;
#endif
+
+ DECLARE_NO_COPY_CLASS(wxHtmlEntitiesParser)
};
diff --git a/include/wx/html/htmltag.h b/include/wx/html/htmltag.h
index 0dc91747ed..42927905cb 100644
--- a/include/wx/html/htmltag.h
+++ b/include/wx/html/htmltag.h
@@ -47,6 +47,8 @@ public:
// Finds parameters for tag starting at at and fills the variables
void QueryTag(int at, int* end1, int* end2);
+
+ DECLARE_NO_COPY_CLASS(wxHtmlTagsCache)
};
@@ -142,6 +144,8 @@ private:
wxHtmlTag *m_Prev;
wxHtmlTag *m_FirstChild, *m_LastChild;
wxHtmlTag *m_Parent;
+
+ DECLARE_NO_COPY_CLASS(wxHtmlTag)
};
diff --git a/include/wx/html/htmlwin.h b/include/wx/html/htmlwin.h
index 14ed7b410b..76d1c2c840 100644
--- a/include/wx/html/htmlwin.h
+++ b/include/wx/html/htmlwin.h
@@ -269,6 +269,7 @@ private:
static wxHtmlProcessorList *m_GlobalProcessors;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxHtmlWindow)
};
diff --git a/include/wx/html/htmprint.h b/include/wx/html/htmprint.h
index 713d1ef895..79f3528bb9 100644
--- a/include/wx/html/htmprint.h
+++ b/include/wx/html/htmprint.h
@@ -74,6 +74,8 @@ private:
wxFileSystem *m_FS;
wxHtmlContainerCell *m_Cells;
int m_MaxWidth, m_Width, m_Height;
+
+ DECLARE_NO_COPY_CLASS(wxHtmlDCRenderer)
};
@@ -155,6 +157,8 @@ private:
int m_HeaderHeight, m_FooterHeight;
wxHtmlDCRenderer *m_Renderer, *m_RendererHdr;
float m_MarginTop, m_MarginBottom, m_MarginLeft, m_MarginRight, m_MarginSpace;
+
+ DECLARE_NO_COPY_CLASS(wxHtmlPrintout)
};
@@ -219,6 +223,8 @@ private:
wxString m_Name;
wxString m_Headers[2], m_Footers[2];
wxFrame *m_Frame;
+
+ DECLARE_NO_COPY_CLASS(wxHtmlEasyPrinting)
};
diff --git a/include/wx/html/winpars.h b/include/wx/html/winpars.h
index 23905552f7..d2dd340230 100644
--- a/include/wx/html/winpars.h
+++ b/include/wx/html/winpars.h
@@ -176,6 +176,8 @@ private:
wxString m_FontFaceFixed, m_FontFaceNormal;
// html font sizes and faces of fixed and proportional fonts
+ DECLARE_NO_COPY_CLASS(wxHtmlWinParser)
+
#if !wxUSE_UNICODE
wxFontEncoding m_InputEnc, m_OutputEnc;
// I/O font encodings
@@ -206,6 +208,8 @@ public:
protected:
wxHtmlWinParser *m_WParser; // same as m_Parser, but overcasted
+
+ DECLARE_NO_COPY_CLASS(wxHtmlWinTagHandler)
};
diff --git a/include/wx/intl.h b/include/wx/intl.h
index 2c7023bb01..2f50345325 100644
--- a/include/wx/intl.h
+++ b/include/wx/intl.h
@@ -502,6 +502,8 @@ private:
bool m_bConvertEncoding;
static wxLanguageInfoArray *ms_languagesDB;
+
+ DECLARE_NO_COPY_CLASS(wxLocale)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/ipcbase.h b/include/wx/ipcbase.h
index 49a9f59f9b..6b1d39d41d 100644
--- a/include/wx/ipcbase.h
+++ b/include/wx/ipcbase.h
@@ -122,6 +122,8 @@ private:
wxChar * m_buffer;
size_t m_buffersize;
bool m_deletebufferwhendone;
+
+ DECLARE_NO_COPY_CLASS(wxConnectionBase)
};
diff --git a/include/wx/layout.h b/include/wx/layout.h
index fe232e266a..736c16c9a3 100644
--- a/include/wx/layout.h
+++ b/include/wx/layout.h
@@ -148,6 +148,8 @@ public:
// Get the value of this edge or dimension, or if this
// is not determinable, -1.
int GetEdge(wxEdge which, wxWindowBase *thisWin, wxWindowBase *other) const;
+
+ DECLARE_NO_COPY_CLASS(wxIndividualLayoutConstraint)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/log.h b/include/wx/log.h
index ee2f933f8f..04efbd0bd8 100644
--- a/include/wx/log.h
+++ b/include/wx/log.h
@@ -369,6 +369,8 @@ private:
// do we pass the messages to the old logger?
bool m_bPassMessages;
+
+ DECLARE_NO_COPY_CLASS(wxLogChain)
};
// a chain log target which uses itself as the new logger
@@ -400,6 +402,8 @@ private:
// the control we use
wxTextCtrl *m_pTextCtrl;
+
+ DECLARE_NO_COPY_CLASS(wxLogTextCtrl)
};
#endif // wxUSE_TEXTCTRL
@@ -478,6 +482,8 @@ protected:
private:
wxLogFrame *m_pLogFrame; // the log frame
+
+ DECLARE_NO_COPY_CLASS(wxLogWindow)
};
#endif // wxUSE_LOGWINDOW
diff --git a/include/wx/menu.h b/include/wx/menu.h
index ccdac72ffa..9fe5a2aa5c 100644
--- a/include/wx/menu.h
+++ b/include/wx/menu.h
@@ -389,6 +389,8 @@ protected:
long m_style; // combination of wxMENU_XXX flags
wxEvtHandler *m_eventHandler; // a pluggable in event handler
+
+ DECLARE_NO_COPY_CLASS(wxMenuBase)
};
// ----------------------------------------------------------------------------
@@ -516,6 +518,8 @@ protected:
// the frame we are attached to (may be NULL)
wxFrame *m_menuBarFrame;
+
+ DECLARE_NO_COPY_CLASS(wxMenuBarBase)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/mstream.h b/include/wx/mstream.h
index b1b15cb8d6..d80cd3a401 100644
--- a/include/wx/mstream.h
+++ b/include/wx/mstream.h
@@ -40,6 +40,8 @@ protected:
private:
size_t m_length;
+
+ DECLARE_NO_COPY_CLASS(wxMemoryInputStream)
};
class WXDLLEXPORT wxMemoryOutputStream : public wxOutputStream
@@ -64,6 +66,8 @@ protected:
size_t OnSysWrite(const void *buffer, size_t nbytes);
off_t OnSysSeek(off_t pos, wxSeekMode mode);
off_t OnSysTell() const;
+
+ DECLARE_NO_COPY_CLASS(wxMemoryOutputStream)
};
#endif
diff --git a/include/wx/msw/bitmap.h b/include/wx/msw/bitmap.h
index da82b22d7d..8abc0799cc 100644
--- a/include/wx/msw/bitmap.h
+++ b/include/wx/msw/bitmap.h
@@ -64,6 +64,8 @@ public:
// optional mask for transparent drawing
wxMask *m_bitmapMask;
+ DECLARE_NO_COPY_CLASS(wxBitmapRefData)
+
#if wxUSE_DIB_FOR_BITMAP
WXHANDLE m_hFileMap; // file mapping handle for large DIB's
#endif
diff --git a/include/wx/msw/dc.h b/include/wx/msw/dc.h
index dde2cf4246..ac1f0a3989 100644
--- a/include/wx/msw/dc.h
+++ b/include/wx/msw/dc.h
@@ -241,6 +241,7 @@ protected:
#endif
DECLARE_DYNAMIC_CLASS(wxDC)
+ DECLARE_NO_COPY_CLASS(wxDC)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/msw/dde.h b/include/wx/msw/dde.h
index 56813e4340..4d305f46b6 100644
--- a/include/wx/msw/dde.h
+++ b/include/wx/msw/dde.h
@@ -78,6 +78,8 @@ public:
wxChar* m_sendingData;
int m_dataSize;
wxIPCFormat m_dataType;
+
+ DECLARE_NO_COPY_CLASS(wxDDEConnection)
};
class WXDLLEXPORT wxDDEServer: public wxServerBase
diff --git a/include/wx/msw/dialog.h b/include/wx/msw/dialog.h
index 2c3b5b2088..e47ddcde3c 100644
--- a/include/wx/msw/dialog.h
+++ b/include/wx/msw/dialog.h
@@ -121,6 +121,7 @@ private:
DECLARE_DYNAMIC_CLASS(wxDialog)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxDialog)
};
#endif
diff --git a/include/wx/msw/dragimag.h b/include/wx/msw/dragimag.h
index bf5dbdc9fa..49b745c836 100644
--- a/include/wx/msw/dragimag.h
+++ b/include/wx/msw/dragimag.h
@@ -260,6 +260,7 @@ protected:
private:
DECLARE_DYNAMIC_CLASS(wxDragImage)
+ DECLARE_NO_COPY_CLASS(wxDragImage)
};
#endif
diff --git a/include/wx/msw/fdrepdlg.h b/include/wx/msw/fdrepdlg.h
index 919ef8d7ab..2e84c9567b 100644
--- a/include/wx/msw/fdrepdlg.h
+++ b/include/wx/msw/fdrepdlg.h
@@ -57,6 +57,7 @@ protected:
wxFindReplaceDialogImpl *m_impl;
DECLARE_DYNAMIC_CLASS(wxFindReplaceDialog)
+ DECLARE_NO_COPY_CLASS(wxFindReplaceDialog)
};
diff --git a/include/wx/msw/filedlg.h b/include/wx/msw/filedlg.h
index f4637fcc78..523d75626b 100644
--- a/include/wx/msw/filedlg.h
+++ b/include/wx/msw/filedlg.h
@@ -69,6 +69,7 @@ protected:
private:
DECLARE_DYNAMIC_CLASS(wxFileDialog)
+ DECLARE_NO_COPY_CLASS(wxFileDialog)
};
// File selector - backward compatibility
diff --git a/include/wx/msw/helpbest.h b/include/wx/msw/helpbest.h
index 3709a6ab63..0345d504b5 100644
--- a/include/wx/msw/helpbest.h
+++ b/include/wx/msw/helpbest.h
@@ -110,6 +110,7 @@ protected:
wxHelpControllerBase* m_helpController;
DECLARE_DYNAMIC_CLASS(wxBestHelpController)
+ DECLARE_NO_COPY_CLASS(wxBestHelpController)
};
#endif // wxUSE_HELP && wxUSE_MS_HTML_HELP && defined(__WIN95__) && wxUSE_WXHTML_HELP
diff --git a/include/wx/msw/listctrl.h b/include/wx/msw/listctrl.h
index fc495d9950..5de83175f9 100644
--- a/include/wx/msw/listctrl.h
+++ b/include/wx/msw/listctrl.h
@@ -397,6 +397,7 @@ private:
DECLARE_DYNAMIC_CLASS(wxListCtrl)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxListCtrl)
};
#endif // wxUSE_LISTCTRL
diff --git a/include/wx/msw/mdi.h b/include/wx/msw/mdi.h
index d70470724b..dec7df2826 100644
--- a/include/wx/msw/mdi.h
+++ b/include/wx/msw/mdi.h
@@ -114,6 +114,7 @@ private:
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxMDIParentFrame)
+ DECLARE_NO_COPY_CLASS(wxMDIParentFrame)
};
// ---------------------------------------------------------------------------
diff --git a/include/wx/msw/msgdlg.h b/include/wx/msw/msgdlg.h
index eeccdf6c91..52720f1296 100644
--- a/include/wx/msw/msgdlg.h
+++ b/include/wx/msw/msgdlg.h
@@ -38,6 +38,8 @@ public:
long style = wxOK|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
int ShowModal(void);
+
+ DECLARE_NO_COPY_CLASS(wxMessageDialog)
};
diff --git a/include/wx/msw/ole/automtn.h b/include/wx/msw/ole/automtn.h
index 95ea0215c8..083cbef370 100644
--- a/include/wx/msw/ole/automtn.h
+++ b/include/wx/msw/ole/automtn.h
@@ -92,6 +92,8 @@ public:
public:
WXIDISPATCH* m_dispatchPtr;
+
+ DECLARE_NO_COPY_CLASS(wxAutomationObject)
};
diff --git a/include/wx/msw/ole/dataobj.h b/include/wx/msw/ole/dataobj.h
index 8f8fb8f235..f686ef4bb7 100644
--- a/include/wx/msw/ole/dataobj.h
+++ b/include/wx/msw/ole/dataobj.h
@@ -58,6 +58,8 @@ public:
virtual size_t GetBufferOffset( const wxDataFormat& format );
private:
IDataObject *m_pIDataObject; // pointer to the COM interface
+
+ DECLARE_NO_COPY_CLASS(wxDataObject)
};
#endif //_WX_MSW_OLE_DATAOBJ_H
diff --git a/include/wx/msw/ole/dataobj2.h b/include/wx/msw/ole/dataobj2.h
index 6f3740d972..0fb5a1cb39 100644
--- a/include/wx/msw/ole/dataobj2.h
+++ b/include/wx/msw/ole/dataobj2.h
@@ -41,6 +41,8 @@ public:
private:
// the DIB data
void /* BITMAPINFO */ *m_data;
+
+ DECLARE_NO_COPY_CLASS(wxBitmapDataObject)
};
// ----------------------------------------------------------------------------
@@ -101,6 +103,8 @@ public:
private:
// last data object we got data in
wxDataObjectSimple *m_dataObjectLast;
+
+ DECLARE_NO_COPY_CLASS(wxURLDataObject)
};
#endif // _WX_MSW_OLE_DATAOBJ2_H
diff --git a/include/wx/msw/ole/dropsrc.h b/include/wx/msw/ole/dropsrc.h
index 24a3153738..7090d31b1c 100644
--- a/include/wx/msw/ole/dropsrc.h
+++ b/include/wx/msw/ole/dropsrc.h
@@ -76,6 +76,8 @@ protected:
private:
wxIDropSource *m_pIDropSource; // the pointer to COM interface
+
+ DECLARE_NO_COPY_CLASS(wxDropSource)
};
#endif //_WX_OLEDROPSRC_H
diff --git a/include/wx/msw/ole/droptgt.h b/include/wx/msw/ole/droptgt.h
index a4648b5edf..2d3c84c5bd 100644
--- a/include/wx/msw/ole/droptgt.h
+++ b/include/wx/msw/ole/droptgt.h
@@ -69,6 +69,8 @@ private:
wxIDropTarget *m_pIDropTarget; // the pointer to our COM interface
IDataObject *m_pIDataSource; // the pointer to the source data object
+
+ DECLARE_NO_COPY_CLASS(wxDropTarget)
};
#endif //_WX_OLEDROPTGT_H
diff --git a/include/wx/msw/pen.h b/include/wx/msw/pen.h
index a653d39db0..61ce98dfe9 100644
--- a/include/wx/msw/pen.h
+++ b/include/wx/msw/pen.h
@@ -41,6 +41,14 @@ protected:
wxDash * m_dash ;
wxColour m_colour;
WXHPEN m_hPen;
+
+private:
+// Cannot use
+// DECLARE_NO_COPY_CLASS(wxPenRefData)
+// because copy constructor is explicitly declared above;
+// but no copy assignment operator is defined, so declare
+// it private to prevent the compiler from defining it:
+ wxPenRefData& operator=(const wxPenRefData&);
};
#define M_PENDATA ((wxPenRefData *)m_refData)
diff --git a/include/wx/msw/printdlg.h b/include/wx/msw/printdlg.h
index 7704c3f15d..eea912b333 100644
--- a/include/wx/msw/printdlg.h
+++ b/include/wx/msw/printdlg.h
@@ -49,6 +49,8 @@ private:
wxDC* m_printerDC;
bool m_destroyDC;
wxWindow* m_dialogParent;
+
+ DECLARE_NO_COPY_CLASS(wxPrintDialog)
};
class WXDLLEXPORT wxPageSetupDialog: public wxDialog
@@ -68,6 +70,8 @@ public:
private:
wxPageSetupData m_pageSetupData;
wxWindow* m_dialogParent;
+
+ DECLARE_NO_COPY_CLASS(wxPageSetupDialog)
};
#endif // wxUSE_PRINTING_ARCHITECTURE
diff --git a/include/wx/msw/printwin.h b/include/wx/msw/printwin.h
index 9f7d368f7a..b5947de4fb 100644
--- a/include/wx/msw/printwin.h
+++ b/include/wx/msw/printwin.h
@@ -38,6 +38,8 @@ public:
private:
WXFARPROC m_lpAbortProc;
+
+ DECLARE_NO_COPY_CLASS(wxWindowsPrinter)
};
// ---------------------------------------------------------------------------
diff --git a/include/wx/msw/private.h b/include/wx/msw/private.h
index 21ce06bcf9..f4cb8b3908 100644
--- a/include/wx/msw/private.h
+++ b/include/wx/msw/private.h
@@ -346,6 +346,8 @@ public:
private:
HDC m_hdc;
+
+ DECLARE_NO_COPY_CLASS(ScreenHDC)
};
// the same as ScreenHDC but for memory DCs: creates the HDC in ctor and
@@ -360,6 +362,8 @@ public:
private:
HDC m_hdc;
+
+ DECLARE_NO_COPY_CLASS(MemoryHDC)
};
// a class which selects a GDI object into a DC in its ctor and deselects in
@@ -378,6 +382,8 @@ public:
private:
HDC m_hdc;
HGDIOBJ m_hgdiobj;
+
+ DECLARE_NO_COPY_CLASS(SelectInHDC)
};
// ---------------------------------------------------------------------------
diff --git a/include/wx/msw/radiobox.h b/include/wx/msw/radiobox.h
index 1ba95def67..58bd4bbe01 100644
--- a/include/wx/msw/radiobox.h
+++ b/include/wx/msw/radiobox.h
@@ -134,6 +134,7 @@ protected:
private:
DECLARE_DYNAMIC_CLASS(wxRadioBox)
+ DECLARE_NO_COPY_CLASS(wxRadioBox)
};
#endif
diff --git a/include/wx/msw/spinctrl.h b/include/wx/msw/spinctrl.h
index 70dc78a208..5d4d2824a2 100644
--- a/include/wx/msw/spinctrl.h
+++ b/include/wx/msw/spinctrl.h
@@ -112,6 +112,7 @@ protected:
private:
DECLARE_DYNAMIC_CLASS(wxSpinCtrl)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxSpinCtrl)
};
#endif // _WX_MSW_SPINCTRL_H_
diff --git a/include/wx/msw/statbmp.h b/include/wx/msw/statbmp.h
index 85f801a163..38a12b3a55 100644
--- a/include/wx/msw/statbmp.h
+++ b/include/wx/msw/statbmp.h
@@ -99,6 +99,7 @@ protected:
private:
DECLARE_DYNAMIC_CLASS(wxStaticBitmap)
+ DECLARE_NO_COPY_CLASS(wxStaticBitmap)
};
#endif
diff --git a/include/wx/msw/tabctrl.h b/include/wx/msw/tabctrl.h
index 014ea3167b..4a11d95c35 100644
--- a/include/wx/msw/tabctrl.h
+++ b/include/wx/msw/tabctrl.h
@@ -124,6 +124,7 @@ protected:
wxImageList* m_imageList;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxTabCtrl)
};
class WXDLLEXPORT wxTabEvent : public wxNotifyEvent
diff --git a/include/wx/msw/tbar95.h b/include/wx/msw/tbar95.h
index 980714d08e..ae0994cb71 100644
--- a/include/wx/msw/tbar95.h
+++ b/include/wx/msw/tbar95.h
@@ -127,6 +127,7 @@ protected:
private:
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxToolBar)
+ DECLARE_NO_COPY_CLASS(wxToolBar)
};
#endif // wxUSE_TOOLBAR
diff --git a/include/wx/msw/tooltip.h b/include/wx/msw/tooltip.h
index d1b1cb3b9c..ad456a3271 100644
--- a/include/wx/msw/tooltip.h
+++ b/include/wx/msw/tooltip.h
@@ -55,5 +55,6 @@ private:
wxWindow *m_window; // window we're associated with
DECLARE_ABSTRACT_CLASS(wxToolTip)
+ DECLARE_NO_COPY_CLASS(wxToolTip)
};
diff --git a/include/wx/msw/toplevel.h b/include/wx/msw/toplevel.h
index 202983d285..b4e77b09da 100644
--- a/include/wx/msw/toplevel.h
+++ b/include/wx/msw/toplevel.h
@@ -120,6 +120,7 @@ protected:
wxWindow *m_winLastFocused;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxTopLevelWindowMSW)
};
// list of all frames and modeless dialogs
diff --git a/include/wx/msw/treectrl.h b/include/wx/msw/treectrl.h
index 8191e7d94d..1b56eb819c 100644
--- a/include/wx/msw/treectrl.h
+++ b/include/wx/msw/treectrl.h
@@ -478,6 +478,7 @@ private:
friend class wxTreeSortHelper;
DECLARE_DYNAMIC_CLASS(wxTreeCtrl)
+ DECLARE_NO_COPY_CLASS(wxTreeCtrl)
};
#endif // wxUSE_TREECTRL
diff --git a/include/wx/msw/wave.h b/include/wx/msw/wave.h
index 12807e7e20..cd025e863a 100644
--- a/include/wx/msw/wave.h
+++ b/include/wx/msw/wave.h
@@ -44,6 +44,8 @@ private:
wxByte* m_waveData;
int m_waveLength;
bool m_isResource;
+
+ DECLARE_NO_COPY_CLASS(wxWave)
};
#endif
#endif
diff --git a/include/wx/notebook.h b/include/wx/notebook.h
index a7583c5857..0afe7a1f8b 100644
--- a/include/wx/notebook.h
+++ b/include/wx/notebook.h
@@ -165,6 +165,8 @@ protected:
wxArrayPages m_pages; // array of pages
wxImageList *m_imageList; // we can have an associated image list
bool m_ownsImageList; // true if we must delete m_imageList
+
+ DECLARE_NO_COPY_CLASS(wxNotebookBase)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/popupwin.h b/include/wx/popupwin.h
index 185d8c7f65..6bee065b9e 100644
--- a/include/wx/popupwin.h
+++ b/include/wx/popupwin.h
@@ -127,6 +127,7 @@ protected:
wxPopupFocusHandler *m_handlerFocus;
DECLARE_DYNAMIC_CLASS(wxPopupTransientWindow)
+ DECLARE_NO_COPY_CLASS(wxPopupTransientWindow)
};
#if wxUSE_COMBOBOX && defined(__WXUNIVERSAL__)
diff --git a/include/wx/prntbase.h b/include/wx/prntbase.h
index d8357cb11b..8e926ce966 100644
--- a/include/wx/prntbase.h
+++ b/include/wx/prntbase.h
@@ -85,6 +85,7 @@ public:
private:
DECLARE_CLASS(wxPrinterBase)
+ DECLARE_NO_COPY_CLASS(wxPrinterBase)
};
/*
@@ -150,6 +151,7 @@ private:
private:
DECLARE_ABSTRACT_CLASS(wxPrintout)
+ DECLARE_NO_COPY_CLASS(wxPrintout)
};
/*
@@ -178,6 +180,7 @@ private:
DECLARE_CLASS(wxPreviewCanvas)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxPreviewCanvas)
};
/*
@@ -209,6 +212,7 @@ protected:
private:
DECLARE_CLASS(wxPreviewFrame)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxPreviewFrame)
};
/*
@@ -289,6 +293,7 @@ protected:
private:
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxPreviewControlBar)
};
/*
@@ -377,6 +382,8 @@ protected:
private:
void Init(wxPrintout *printout, wxPrintout *printoutForPrinting);
+
+ DECLARE_NO_COPY_CLASS(wxPrintPreviewBase)
};
/*
diff --git a/include/wx/process.h b/include/wx/process.h
index e488f264d2..083ddf6dc7 100644
--- a/include/wx/process.h
+++ b/include/wx/process.h
@@ -128,6 +128,7 @@ protected:
bool m_redirect;
DECLARE_DYNAMIC_CLASS(wxProcess)
+ DECLARE_NO_COPY_CLASS(wxProcess)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/protocol/http.h b/include/wx/protocol/http.h
index 72080ba71d..feb10b3947 100644
--- a/include/wx/protocol/http.h
+++ b/include/wx/protocol/http.h
@@ -53,6 +53,8 @@ protected:
// deletes the header value strings
void ClearHeaders();
+
+ DECLARE_NO_COPY_CLASS(wxHTTP)
};
#endif // wxUSE_PROTOCOL_HTTP
diff --git a/include/wx/protocol/protocol.h b/include/wx/protocol/protocol.h
index d17e4dd637..f880e07877 100644
--- a/include/wx/protocol/protocol.h
+++ b/include/wx/protocol/protocol.h
@@ -127,6 +127,7 @@ protected:
friend class wxURL;
DECLARE_DYNAMIC_CLASS(wxProtoInfo)
+ DECLARE_NO_COPY_CLASS(wxProtoInfo)
};
#endif // wxUSE_PROTOCOL
diff --git a/include/wx/sckipc.h b/include/wx/sckipc.h
index 89f216d0fc..e682906171 100644
--- a/include/wx/sckipc.h
+++ b/include/wx/sckipc.h
@@ -102,6 +102,8 @@ private:
//
virtual bool Execute(const wxString& str)
{ return Execute(str, -1, wxIPC_TEXT); }
+
+ DECLARE_NO_COPY_CLASS(wxTCPConnection)
};
class wxTCPServer: public wxServerBase
@@ -127,6 +129,8 @@ protected:
// the name of the file associated to the Unix domain socket, may be empty
wxString m_filename;
#endif // __UNIX_LIKE__
+
+ DECLARE_NO_COPY_CLASS(wxTCPServer)
};
class wxTCPClient: public wxClientBase
diff --git a/include/wx/sckstrm.h b/include/wx/sckstrm.h
index d649b74793..b6a060d298 100644
--- a/include/wx/sckstrm.h
+++ b/include/wx/sckstrm.h
@@ -36,6 +36,8 @@ class WXDLLEXPORT wxSocketOutputStream : public wxOutputStream
wxSocketBase *m_o_socket;
size_t OnSysWrite(const void *buffer, size_t bufsize);
+
+ DECLARE_NO_COPY_CLASS(wxSocketOutputStream)
};
class WXDLLEXPORT wxSocketInputStream : public wxInputStream
@@ -53,6 +55,8 @@ class WXDLLEXPORT wxSocketInputStream : public wxInputStream
wxSocketBase *m_i_socket;
size_t OnSysRead(void *buffer, size_t bufsize);
+
+ DECLARE_NO_COPY_CLASS(wxSocketInputStream)
};
class WXDLLEXPORT wxSocketStream : public wxSocketInputStream,
diff --git a/include/wx/scrolwin.h b/include/wx/scrolwin.h
index 11ba4edb59..e4c0a96763 100644
--- a/include/wx/scrolwin.h
+++ b/include/wx/scrolwin.h
@@ -201,6 +201,8 @@ protected:
#endif // wxUSE_MOUSEWHEEL
wxScrollHelperEvtHandler *m_handler;
+
+ DECLARE_NO_COPY_CLASS(wxScrollHelper)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/sizer.h b/include/wx/sizer.h
index 412f6a2f54..10899c790a 100644
--- a/include/wx/sizer.h
+++ b/include/wx/sizer.h
@@ -130,6 +130,7 @@ protected:
private:
DECLARE_CLASS(wxSizerItem);
+ DECLARE_NO_COPY_CLASS(wxSizerItem)
};
//---------------------------------------------------------------------------
@@ -317,6 +318,7 @@ protected:
private:
DECLARE_CLASS(wxFlexGridSizer);
+ DECLARE_NO_COPY_CLASS(wxFlexGridSizer)
};
//---------------------------------------------------------------------------
@@ -373,6 +375,7 @@ protected:
private:
DECLARE_CLASS(wxStaticBoxSizer);
+ DECLARE_NO_COPY_CLASS(wxStaticBoxSizer)
};
#endif // wxUSE_STATBOX
@@ -401,6 +404,7 @@ protected:
private:
DECLARE_CLASS(wxNotebookSizer);
+ DECLARE_NO_COPY_CLASS(wxNotebookSizer)
};
#endif // wxUSE_NOTEBOOK
diff --git a/include/wx/snglinst.h b/include/wx/snglinst.h
index b940f3dd12..114b73b3d1 100644
--- a/include/wx/snglinst.h
+++ b/include/wx/snglinst.h
@@ -60,6 +60,8 @@ private:
// the implementation details (platform specific)
class WXDLLEXPORT wxSingleInstanceCheckerImpl *m_impl;
+
+ DECLARE_NO_COPY_CLASS(wxSingleInstanceChecker)
};
#endif // wxUSE_SNGLINST_CHECKER
diff --git a/include/wx/socket.h b/include/wx/socket.h
index dbde09bff7..d52e133473 100644
--- a/include/wx/socket.h
+++ b/include/wx/socket.h
@@ -261,6 +261,8 @@ private:
wxSockCbk m_cbk; // callback
char *m_cdata; // callback data
#endif // WXWIN_COMPATIBILITY
+
+ DECLARE_NO_COPY_CLASS(wxSocketBase)
};
diff --git a/include/wx/statusbr.h b/include/wx/statusbr.h
index adafc8bfce..0ae464c94e 100644
--- a/include/wx/statusbr.h
+++ b/include/wx/statusbr.h
@@ -111,6 +111,8 @@ protected:
// stacks of previous values for PushStatusText/PopStatusText
// this is created on demand, use GetStatusStack/GetOrCreateStatusStack
wxListString **m_statusTextStacks;
+
+ DECLARE_NO_COPY_CLASS(wxStatusBarBase)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/stream.h b/include/wx/stream.h
index 5b80f8766c..83551e2127 100644
--- a/include/wx/stream.h
+++ b/include/wx/stream.h
@@ -98,6 +98,8 @@ protected:
wxStreamError m_lasterror;
friend class wxStreamBuffer;
+
+ DECLARE_NO_COPY_CLASS(wxInputStream)
};
// ----------------------------------------------------------------------------
@@ -307,6 +309,8 @@ public:
protected:
wxInputStream *m_parent_i_stream;
+
+ DECLARE_NO_COPY_CLASS(wxFilterInputStream)
};
class WXDLLEXPORT wxFilterOutputStream : public wxOutputStream
@@ -322,6 +326,8 @@ public:
protected:
wxOutputStream *m_parent_o_stream;
+
+ DECLARE_NO_COPY_CLASS(wxFilterOutputStream)
};
// ============================================================================
@@ -437,6 +443,14 @@ protected:
bool m_destroybuf, // deallocate buffer?
m_fixed,
m_flushable;
+
+private:
+// Cannot use
+// DECLARE_NO_COPY_CLASS(wxStreamBuffer)
+// because copy constructor is explicitly declared above;
+// but no copy assignment operator is defined, so declare
+// it private to prevent the compiler from defining it:
+ wxStreamBuffer& operator=(const wxStreamBuffer&);
};
// ---------------------------------------------------------------------------
@@ -471,6 +485,8 @@ protected:
virtual off_t OnSysTell() const;
wxStreamBuffer *m_i_streambuf;
+
+ DECLARE_NO_COPY_CLASS(wxBufferedInputStream)
};
// ----------------------------------------------------------------------------
@@ -508,6 +524,8 @@ protected:
virtual off_t OnSysTell() const;
wxStreamBuffer *m_o_streambuf;
+
+ DECLARE_NO_COPY_CLASS(wxBufferedOutputStream)
};
#endif // wxUSE_STREAMS
diff --git a/include/wx/tbarbase.h b/include/wx/tbarbase.h
index c96bef2acf..9cd4e2ea77 100644
--- a/include/wx/tbarbase.h
+++ b/include/wx/tbarbase.h
@@ -234,6 +234,8 @@ protected:
// short and long help strings
wxString m_shortHelpString;
wxString m_longHelpString;
+
+ DECLARE_NO_COPY_CLASS(wxToolBarToolBase)
};
// a list of toolbar tools
diff --git a/include/wx/timer.h b/include/wx/timer.h
index 2c030fbd07..288f51fb1d 100644
--- a/include/wx/timer.h
+++ b/include/wx/timer.h
@@ -103,6 +103,8 @@ protected:
int m_milli; // the timer interval
bool m_oneShot; // TRUE if one shot
+
+ DECLARE_NO_COPY_CLASS(wxTimerBase)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/tipwin.h b/include/wx/tipwin.h
index be2b8bbc28..7adfac1545 100644
--- a/include/wx/tipwin.h
+++ b/include/wx/tipwin.h
@@ -92,6 +92,8 @@ private:
DECLARE_EVENT_TABLE()
friend class wxTipWindowView;
+
+ DECLARE_NO_COPY_CLASS(wxTipWindow)
};
#endif // wxUSE_TIPWINDOW
diff --git a/include/wx/valgen.h b/include/wx/valgen.h
index f80ced14c3..fadac6da7e 100644
--- a/include/wx/valgen.h
+++ b/include/wx/valgen.h
@@ -56,6 +56,14 @@ protected:
int* m_pInt;
wxString* m_pString;
wxArrayInt* m_pArrayInt;
+
+private:
+// Cannot use
+// DECLARE_NO_COPY_CLASS(wxGenericValidator)
+// because copy constructor is explicitly declared above;
+// but no copy assignment operator is defined, so declare
+// it private to prevent the compiler from defining it:
+ wxGenericValidator& operator=(const wxGenericValidator&);
};
#endif
diff --git a/include/wx/valtext.h b/include/wx/valtext.h
index cf15da9903..418c5d01bb 100644
--- a/include/wx/valtext.h
+++ b/include/wx/valtext.h
@@ -95,6 +95,14 @@ protected:
return TRUE;
}
+
+private:
+// Cannot use
+// DECLARE_NO_COPY_CLASS(wxTextValidator)
+// because copy constructor is explicitly declared above;
+// but no copy assignment operator is defined, so declare
+// it private to prevent the compiler from defining it:
+ wxTextValidator& operator=(const wxTextValidator&);
};
#endif
diff --git a/include/wx/wfstream.h b/include/wx/wfstream.h
index 3987d3e1dc..de639c6262 100644
--- a/include/wx/wfstream.h
+++ b/include/wx/wfstream.h
@@ -51,6 +51,8 @@ class WXDLLEXPORT wxFileInputStream: public wxInputStream {
protected:
wxFile *m_file;
bool m_file_destroy;
+
+ DECLARE_NO_COPY_CLASS(wxFileInputStream)
};
class WXDLLEXPORT wxFileOutputStream: public wxOutputStream {
@@ -79,6 +81,8 @@ class WXDLLEXPORT wxFileOutputStream: public wxOutputStream {
protected:
wxFile *m_file;
bool m_file_destroy;
+
+ DECLARE_NO_COPY_CLASS(wxFileOutputStream)
};
class WXDLLEXPORT wxFileStream: public wxFileInputStream, public wxFileOutputStream {
@@ -111,6 +115,8 @@ class WXDLLEXPORT wxFFileInputStream: public wxInputStream {
protected:
wxFFile *m_file;
bool m_file_destroy;
+
+ DECLARE_NO_COPY_CLASS(wxFFileInputStream)
};
class WXDLLEXPORT wxFFileOutputStream: public wxOutputStream {
@@ -139,6 +145,8 @@ class WXDLLEXPORT wxFFileOutputStream: public wxOutputStream {
protected:
wxFFile *m_file;
bool m_file_destroy;
+
+ DECLARE_NO_COPY_CLASS(wxFFileOutputStream)
};
class WXDLLEXPORT wxFFileStream: public wxFFileInputStream, public wxFFileOutputStream {
diff --git a/include/wx/wizard.h b/include/wx/wizard.h
index db4dbbf752..5bd94c0e2f 100644
--- a/include/wx/wizard.h
+++ b/include/wx/wizard.h
@@ -147,6 +147,7 @@ private:
*m_next;
DECLARE_DYNAMIC_CLASS(wxWizardPageSimple)
+ DECLARE_NO_COPY_CLASS(wxWizardPageSimple)
};
// ----------------------------------------------------------------------------
@@ -242,6 +243,7 @@ private:
wxWizardPage* m_page;
DECLARE_DYNAMIC_CLASS(wxWizardEvent)
+ DECLARE_NO_COPY_CLASS(wxWizardEvent)
};
// ----------------------------------------------------------------------------
diff --git a/include/wx/wxexpr.h b/include/wx/wxexpr.h
index 031bced15b..7df1bf9b54 100644
--- a/include/wx/wxexpr.h
+++ b/include/wx/wxexpr.h
@@ -190,6 +190,8 @@ class WXDLLEXPORT wxExpr
// so we can index into the wxExpr database and fish out the pointer.
inline void SetClientData(wxObject *data) { client_data = data; }
inline wxObject *GetClientData(void) const { return client_data; }
+
+ DECLARE_NO_COPY_CLASS(wxExpr)
};
class WXDLLEXPORT wxExprDatabase: public wxList
@@ -249,6 +251,7 @@ public:
private:
DECLARE_DYNAMIC_CLASS(wxExprDatabase)
+ DECLARE_NO_COPY_CLASS(wxExprDatabase)
};
// Function call-style interface - some more convenience wrappers/unwrappers
diff --git a/include/wx/zipstrm.h b/include/wx/zipstrm.h
index 4f53254dc0..77236c3f63 100644
--- a/include/wx/zipstrm.h
+++ b/include/wx/zipstrm.h
@@ -49,6 +49,8 @@ private:
// this void* is handle of archive . I'm sorry it is void and not proper
// type but I don't want to make unzip.h header public.
void *m_Archive;
+
+ DECLARE_NO_COPY_CLASS(wxZipInputStream)
};
diff --git a/include/wx/zstream.h b/include/wx/zstream.h
index fa3d534fe9..2bbeb2fc52 100644
--- a/include/wx/zstream.h
+++ b/include/wx/zstream.h
@@ -33,6 +33,8 @@ class WXDLLEXPORT wxZlibInputStream: public wxFilterInputStream {
size_t m_z_size;
unsigned char *m_z_buffer;
struct z_stream_s *m_inflate;
+
+ DECLARE_NO_COPY_CLASS(wxZlibInputStream)
};
class WXDLLEXPORT wxZlibOutputStream: public wxFilterOutputStream {
@@ -49,6 +51,8 @@ class WXDLLEXPORT wxZlibOutputStream: public wxFilterOutputStream {
size_t m_z_size;
unsigned char *m_z_buffer;
struct z_stream_s *m_deflate;
+
+ DECLARE_NO_COPY_CLASS(wxZlibOutputStream)
};
#endif
diff --git a/src/common/cshelp.cpp b/src/common/cshelp.cpp
index 75749750c9..b5091e8369 100644
--- a/src/common/cshelp.cpp
+++ b/src/common/cshelp.cpp
@@ -56,6 +56,8 @@ public:
//// Data
wxContextHelp* m_contextHelp;
+
+ DECLARE_NO_COPY_CLASS(wxContextHelpEvtHandler)
};
// ============================================================================
diff --git a/src/common/execcmn.cpp b/src/common/execcmn.cpp
index 9e9012f244..6b7eca6b37 100644
--- a/src/common/execcmn.cpp
+++ b/src/common/execcmn.cpp
@@ -65,6 +65,8 @@ private:
// the size of the buffer
size_t m_size;
+
+ DECLARE_NO_COPY_CLASS(wxStreamTempInputBuffer)
};
inline wxStreamTempInputBuffer::wxStreamTempInputBuffer()
diff --git a/src/common/fileconf.cpp b/src/common/fileconf.cpp
index c93a8f5d01..46a5dc8e1d 100644
--- a/src/common/fileconf.cpp
+++ b/src/common/fileconf.cpp
@@ -137,6 +137,8 @@ private:
wxString m_strLine; // line contents
wxFileConfigLineList *m_pNext, // next node
*m_pPrev; // previous one
+
+ DECLARE_NO_COPY_CLASS(wxFileConfigLineList)
};
// ----------------------------------------------------------------------------
@@ -179,6 +181,8 @@ public:
void SetValue(const wxString& strValue, bool bUser = TRUE);
void SetDirty();
void SetLine(wxFileConfigLineList *pLine);
+
+ DECLARE_NO_COPY_CLASS(wxFileConfigEntry)
};
// ----------------------------------------------------------------------------
@@ -248,6 +252,8 @@ public:
// called by entries/subgroups when they're created/deleted
void SetLastEntry(wxFileConfigEntry *pEntry) { m_pLastEntry = pEntry; }
void SetLastGroup(wxFileConfigGroup *pGroup) { m_pLastGroup = pGroup; }
+
+ DECLARE_NO_COPY_CLASS(wxFileConfigGroup)
};
// ============================================================================
diff --git a/src/common/fontmap.cpp b/src/common/fontmap.cpp
index 5e75f2f751..b6bfa89bd5 100644
--- a/src/common/fontmap.cpp
+++ b/src/common/fontmap.cpp
@@ -211,6 +211,8 @@ private:
wxFontMapper *m_fontMapper;
bool m_ok;
wxString m_pathOld;
+
+ DECLARE_NO_COPY_CLASS(wxFontMapperPathChanger)
};
// ============================================================================
diff --git a/src/common/fs_mem.cpp b/src/common/fs_mem.cpp
index eca35ac6ff..19f5da5fc5 100644
--- a/src/common/fs_mem.cpp
+++ b/src/common/fs_mem.cpp
@@ -57,6 +57,8 @@ class MemFSHashObj : public wxObject
char *m_Data;
size_t m_Len;
wxDateTime m_Time;
+
+ DECLARE_NO_COPY_CLASS(MemFSHashObj)
};
diff --git a/src/common/ftp.cpp b/src/common/ftp.cpp
index 23dde41989..cd5435952e 100644
--- a/src/common/ftp.cpp
+++ b/src/common/ftp.cpp
@@ -524,6 +524,8 @@ public:
wxFTP *m_ftp;
size_t m_ftpsize;
+
+ DECLARE_NO_COPY_CLASS(wxInputFTPStream)
};
class wxOutputFTPStream : public wxSocketOutputStream
@@ -558,6 +560,8 @@ public:
}
wxFTP *m_ftp;
+
+ DECLARE_NO_COPY_CLASS(wxOutputFTPStream)
};
wxSocketClient *wxFTP::GetPort()
diff --git a/src/common/http.cpp b/src/common/http.cpp
index eca6160a5e..5a79944d28 100644
--- a/src/common/http.cpp
+++ b/src/common/http.cpp
@@ -287,6 +287,8 @@ public:
protected:
size_t OnSysRead(void *buffer, size_t bufsize);
+
+ DECLARE_NO_COPY_CLASS(wxHTTPStream)
};
size_t wxHTTPStream::OnSysRead(void *buffer, size_t bufsize)
diff --git a/src/common/image.cpp b/src/common/image.cpp
index 5a357beca3..6aea2037fc 100644
--- a/src/common/image.cpp
+++ b/src/common/image.cpp
@@ -63,6 +63,8 @@ public:
#endif // wxUSE_PALETTE
wxArrayString m_optionNames;
wxArrayString m_optionValues;
+
+ DECLARE_NO_COPY_CLASS(wxImageRefData)
};
wxImageRefData::wxImageRefData()
diff --git a/src/common/intl.cpp b/src/common/intl.cpp
index e78f74483a..92185e3f22 100644
--- a/src/common/intl.cpp
+++ b/src/common/intl.cpp
@@ -202,6 +202,8 @@ private:
inline size_t32 Swap(size_t32 ui) const;
bool m_bSwapped; // wrong endianness?
+
+ DECLARE_NO_COPY_CLASS(wxMsgCatalogFile)
};
diff --git a/src/common/popupcmn.cpp b/src/common/popupcmn.cpp
index 7c8de4c9b7..ed80ddb959 100644
--- a/src/common/popupcmn.cpp
+++ b/src/common/popupcmn.cpp
@@ -74,6 +74,7 @@ private:
wxPopupTransientWindow *m_popup;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxPopupWindowHandler)
};
class wxPopupFocusHandler : public wxEvtHandler
@@ -104,6 +105,7 @@ private:
#endif // __WXGTK__
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxPopupFocusHandler)
};
// ----------------------------------------------------------------------------
diff --git a/src/common/socket.cpp b/src/common/socket.cpp
index 2848d09a9a..2c44f0dd13 100644
--- a/src/common/socket.cpp
+++ b/src/common/socket.cpp
@@ -106,6 +106,8 @@ public:
public:
wxSocketState() : wxObject() {}
+
+ DECLARE_NO_COPY_CLASS(wxSocketState)
};
// ==========================================================================
diff --git a/src/common/variant.cpp b/src/common/variant.cpp
index 48d54c7ec1..9ef2f1ae93 100644
--- a/src/common/variant.cpp
+++ b/src/common/variant.cpp
@@ -1026,6 +1026,8 @@ public:
protected:
void* m_value;
+
+ DECLARE_NO_COPY_CLASS(wxVariantDataVoidPtr)
};
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataVoidPtr, wxVariantData)
diff --git a/src/generic/calctrl.cpp b/src/generic/calctrl.cpp
index b1e3317091..bf04de7d3a 100644
--- a/src/generic/calctrl.cpp
+++ b/src/generic/calctrl.cpp
@@ -60,6 +60,7 @@ private:
wxCalendarCtrl *m_cal;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxMonthComboBox)
};
class wxYearSpinCtrl : public wxSpinCtrl
@@ -74,6 +75,7 @@ private:
wxCalendarCtrl *m_cal;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxYearSpinCtrl)
};
// ----------------------------------------------------------------------------
diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp
index 2f12b4028e..47a7c9a1e7 100644
--- a/src/generic/grid.cpp
+++ b/src/generic/grid.cpp
@@ -89,6 +89,10 @@ struct wxGridCellWithAttr
wxGridCellCoords coords;
wxGridCellAttr *attr;
+
+// Cannot do this:
+// DECLARE_NO_COPY_CLASS(wxGridCellWithAttr)
+// without rewriting the macros, which require a public copy constructor.
};
WX_DECLARE_EXPORTED_OBJARRAY(wxGridCellWithAttr, wxGridCellWithAttrArray);
@@ -141,6 +145,7 @@ private:
DECLARE_DYNAMIC_CLASS(wxGridRowLabelWindow)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxGridRowLabelWindow)
};
@@ -162,6 +167,7 @@ private:
DECLARE_DYNAMIC_CLASS(wxGridColLabelWindow)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxGridColLabelWindow)
};
@@ -183,6 +189,7 @@ private:
DECLARE_DYNAMIC_CLASS(wxGridCornerLabelWindow)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxGridCornerLabelWindow)
};
class WXDLLEXPORT wxGridWindow : public wxWindow
@@ -220,6 +227,7 @@ private:
DECLARE_DYNAMIC_CLASS(wxGridWindow)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxGridWindow)
};
@@ -242,6 +250,7 @@ private:
wxGridCellEditor* m_editor;
DECLARE_DYNAMIC_CLASS(wxGridCellEditorEvtHandler)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxGridCellEditorEvtHandler)
};
@@ -322,6 +331,8 @@ struct wxGridDataTypeInfo
wxString m_typeName;
wxGridCellRenderer* m_renderer;
wxGridCellEditor* m_editor;
+
+ DECLARE_NO_COPY_CLASS(wxGridDataTypeInfo)
};
diff --git a/src/generic/logg.cpp b/src/generic/logg.cpp
index 969ccb4b2d..5e1c3ce2b4 100644
--- a/src/generic/logg.cpp
+++ b/src/generic/logg.cpp
@@ -140,6 +140,7 @@ private:
static wxString ms_details;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxLogDialog)
};
BEGIN_EVENT_TABLE(wxLogDialog, wxDialog)
@@ -450,6 +451,7 @@ private:
wxLogWindow *m_log;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxLogFrame)
};
BEGIN_EVENT_TABLE(wxLogFrame, wxFrame)
diff --git a/src/generic/numdlgg.cpp b/src/generic/numdlgg.cpp
index 9fa5693a4d..397ae9af39 100644
--- a/src/generic/numdlgg.cpp
+++ b/src/generic/numdlgg.cpp
@@ -85,6 +85,7 @@ protected:
private:
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxNumberEntryDialog)
};
// ============================================================================
diff --git a/src/generic/scrlwing.cpp b/src/generic/scrlwing.cpp
index 4da24ea311..16b2368cdc 100644
--- a/src/generic/scrlwing.cpp
+++ b/src/generic/scrlwing.cpp
@@ -82,6 +82,8 @@ private:
wxScrollHelper *m_scrollHelper;
bool m_hasDrawnWindow;
+
+ DECLARE_NO_COPY_CLASS(wxScrollHelperEvtHandler)
};
// ----------------------------------------------------------------------------
@@ -104,6 +106,8 @@ private:
wxEventType m_eventType;
int m_pos,
m_orient;
+
+ DECLARE_NO_COPY_CLASS(wxAutoScrollTimer)
};
// ============================================================================
diff --git a/src/generic/tipdlg.cpp b/src/generic/tipdlg.cpp
index 603f7881a9..bfb16d90ec 100644
--- a/src/generic/tipdlg.cpp
+++ b/src/generic/tipdlg.cpp
@@ -115,6 +115,7 @@ private:
wxCheckBox *m_checkbox;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxTipDialog)
};
// ============================================================================
diff --git a/src/generic/tipwin.cpp b/src/generic/tipwin.cpp
index 84d8d86f62..f580c85899 100644
--- a/src/generic/tipwin.cpp
+++ b/src/generic/tipwin.cpp
@@ -76,6 +76,7 @@ private:
#endif // !wxUSE_POPUPWIN
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxTipWindowView)
};
// ============================================================================
diff --git a/src/generic/treectlg.cpp b/src/generic/treectlg.cpp
index 46dc5f2919..c02717df41 100644
--- a/src/generic/treectlg.cpp
+++ b/src/generic/treectlg.cpp
@@ -120,6 +120,8 @@ public:
private:
wxGenericTreeCtrl *m_owner;
+
+ DECLARE_NO_COPY_CLASS(wxTreeRenameTimer)
};
// control used for in-place edit
@@ -143,6 +145,7 @@ private:
bool m_finished;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxTreeTextCtrl)
};
// timer used to clear wxGenericTreeCtrl::m_findPrefix if no key was pressed
@@ -159,6 +162,8 @@ public:
private:
wxGenericTreeCtrl *m_owner;
+
+ DECLARE_NO_COPY_CLASS(wxTreeFindTimer)
};
// a tree item
@@ -298,6 +303,8 @@ private:
// children but has a [+] button
int m_isBold :1; // render the label in bold font
int m_ownsAttr :1; // delete attribute when done
+
+ DECLARE_NO_COPY_CLASS(wxGenericTreeItem)
};
// =============================================================================
diff --git a/src/html/helpdata.cpp b/src/html/helpdata.cpp
index 1864c907e5..8ebc82d3a5 100644
--- a/src/html/helpdata.cpp
+++ b/src/html/helpdata.cpp
@@ -114,6 +114,8 @@ class HP_TagHandler : public wxHtmlTagHandler
bool HandleTag(const wxHtmlTag& tag);
void WriteOut(wxHtmlContentsItem*& array, int& size);
void ReadIn(wxHtmlContentsItem* array, int size);
+
+ DECLARE_NO_COPY_CLASS(HP_TagHandler)
};
diff --git a/src/html/helpfrm.cpp b/src/html/helpfrm.cpp
index 31eab70e8c..43d9494eec 100644
--- a/src/html/helpfrm.cpp
+++ b/src/html/helpfrm.cpp
@@ -113,6 +113,8 @@ class wxHtmlHelpHtmlWindow : public wxHtmlWindow
private:
wxHtmlHelpFrame *m_Frame;
+
+ DECLARE_NO_COPY_CLASS(wxHtmlHelpHtmlWindow)
};
@@ -1026,6 +1028,7 @@ Normal face
(and underlined. Italic face. \
}
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxHtmlHelpFrameOptionsDialog)
};
BEGIN_EVENT_TABLE(wxHtmlHelpFrameOptionsDialog, wxDialog)
diff --git a/src/html/m_image.cpp b/src/html/m_image.cpp
index aaf6a8fa4a..909c32a3fc 100644
--- a/src/html/m_image.cpp
+++ b/src/html/m_image.cpp
@@ -303,6 +303,8 @@ private:
double m_scale;
wxHtmlImageMapCell *m_imageMap;
wxString m_mapName;
+
+ DECLARE_NO_COPY_CLASS(wxHtmlImageCell)
};
#if wxUSE_GIF && wxUSE_TIMER
@@ -317,6 +319,8 @@ class wxGIFTimer : public wxTimer
private:
wxHtmlImageCell *m_cell;
+
+ DECLARE_NO_COPY_CLASS(wxGIFTimer)
};
#endif
diff --git a/src/html/m_tables.cpp b/src/html/m_tables.cpp
index 07aa795bac..aa2292aa2b 100644
--- a/src/html/m_tables.cpp
+++ b/src/html/m_tables.cpp
@@ -125,6 +125,8 @@ private:
// Computes minimal and maximal widths of columns. Needs to be called
// only once, before first Layout().
void ComputeMinMaxWidths();
+
+ DECLARE_NO_COPY_CLASS(wxHtmlTableCell)
};
diff --git a/src/msw/accel.cpp b/src/msw/accel.cpp
index 559f3eaae7..dd112f385a 100644
--- a/src/msw/accel.cpp
+++ b/src/msw/accel.cpp
@@ -41,6 +41,8 @@ public:
protected:
HACCEL m_hAccel;
bool m_ok;
+
+ DECLARE_NO_COPY_CLASS(wxAcceleratorRefData)
};
#define M_ACCELDATA ((wxAcceleratorRefData *)m_refData)
diff --git a/src/msw/checklst.cpp b/src/msw/checklst.cpp
index 9c688afc3b..f74f6dd59c 100644
--- a/src/msw/checklst.cpp
+++ b/src/msw/checklst.cpp
@@ -90,6 +90,8 @@ public:
void SendEvent();
private:
+
+ DECLARE_NO_COPY_CLASS(wxCheckListBoxItem)
bool m_bChecked;
wxCheckListBox *m_pParent;
size_t m_nIndex;
diff --git a/src/msw/dir.cpp b/src/msw/dir.cpp
index 6e51506f8b..273734724d 100644
--- a/src/msw/dir.cpp
+++ b/src/msw/dir.cpp
@@ -224,6 +224,8 @@ private:
wxString m_filespec;
int m_flags;
+
+ DECLARE_NO_COPY_CLASS(wxDirData)
};
// ============================================================================
diff --git a/src/msw/fdrepdlg.cpp b/src/msw/fdrepdlg.cpp
index 5cc89364cd..27eb2be03d 100644
--- a/src/msw/fdrepdlg.cpp
+++ b/src/msw/fdrepdlg.cpp
@@ -102,6 +102,8 @@ private:
// registered Message for Dialog
static UINT ms_msgFindDialog;
+
+ DECLARE_NO_COPY_CLASS(wxFindReplaceDialogImpl)
};
UINT wxFindReplaceDialogImpl::ms_msgFindDialog = 0;
diff --git a/src/msw/fontenum.cpp b/src/msw/fontenum.cpp
index 55a34f3c4d..e92dde8150 100644
--- a/src/msw/fontenum.cpp
+++ b/src/msw/fontenum.cpp
@@ -90,6 +90,8 @@ private:
// the list of facenames we already found while enumerating facenames
wxArrayString m_facenames;
+
+ DECLARE_NO_COPY_CLASS(wxFontEnumeratorHelper)
};
// ----------------------------------------------------------------------------
diff --git a/src/msw/listctrl.cpp b/src/msw/listctrl.cpp
index 4b6191aa84..ee5bcf35af 100644
--- a/src/msw/listctrl.cpp
+++ b/src/msw/listctrl.cpp
@@ -137,6 +137,8 @@ private:
#endif // wxUSE_UNICODE/!wxUSE_UNICODE
LV_ITEM *m_item;
+
+ DECLARE_NO_COPY_CLASS(wxLV_ITEM)
};
///////////////////////////////////////////////////////
@@ -183,6 +185,8 @@ public:
if (attr)
delete attr;
};
+
+ DECLARE_NO_COPY_CLASS(wxListItemInternalData)
};
// Get the internal data structure
diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp
index d492f461cb..f2920163e9 100644
--- a/src/msw/notebook.cpp
+++ b/src/msw/notebook.cpp
@@ -402,70 +402,85 @@ bool wxNotebook::InsertPage(int nPage,
bool bSelect,
int imageId)
{
- wxASSERT( pPage != NULL );
- wxCHECK( IS_VALID_PAGE(nPage) || nPage == GetPageCount(), FALSE );
+ wxCHECK_MSG( pPage != NULL, FALSE, _T("NULL page in wxNotebook::InsertPage") );
+ wxCHECK_MSG( IS_VALID_PAGE(nPage) || nPage == GetPageCount(), FALSE,
+ _T("invalid index in wxNotebook::InsertPage") );
- // do add the tab to the control
- // init all fields to 0
- TC_ITEM tcItem;
- memset(&tcItem, 0, sizeof(tcItem));
+ // add a new tab to the control
+ // ----------------------------
- if ( imageId != -1 )
- {
- tcItem.mask |= TCIF_IMAGE;
- tcItem.iImage = imageId;
- }
+ // init all fields to 0
+ TC_ITEM tcItem;
+ wxZeroMemory(tcItem);
- if ( !strText.IsEmpty() )
- {
- tcItem.mask |= TCIF_TEXT;
- tcItem.pszText = (wxChar *)strText.c_str(); // const_cast
- }
+ // set the image, if any
+ if ( imageId != -1 )
+ {
+ tcItem.mask |= TCIF_IMAGE;
+ tcItem.iImage = imageId;
+ }
- if ( TabCtrl_InsertItem(m_hwnd, nPage, &tcItem) == -1 ) {
- wxLogError(wxT("Can't create the notebook page '%s'."), strText.c_str());
+ // and the text
+ if ( !strText.IsEmpty() )
+ {
+ tcItem.mask |= TCIF_TEXT;
+ tcItem.pszText = (wxChar *)strText.c_str(); // const_cast
+ }
- return FALSE;
- }
+ // fit the notebook page to the tab control's display area: this should be
+ // done before adding it to the notebook or TabCtrl_InsertItem() will
+ // change the notebooks size itself!
+ RECT rc;
+ rc.left = rc.top = 0;
+ GetSize((int *)&rc.right, (int *)&rc.bottom);
+ TabCtrl_AdjustRect(m_hwnd, FALSE, &rc);
+ pPage->SetSize(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top);
- // if the inserted page is before the selected one, we must update the
- // index of the selected page
- if ( nPage <= m_nSelection )
- {
- // one extra page added
- m_nSelection++;
- }
- // save the pointer to the page
- m_pages.Insert(pPage, nPage);
+ // finally do insert it
+ if ( TabCtrl_InsertItem(m_hwnd, nPage, &tcItem) == -1 ) {
+ wxLogError(wxT("Can't create the notebook page '%s'."), strText.c_str());
- // don't show pages by default (we'll need to adjust their size first)
- HWND hwnd = GetWinHwnd(pPage);
- SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_VISIBLE);
+ return FALSE;
+ }
- // this updates internal flag too - otherwise it will get out of sync
- pPage->Show(FALSE);
+ // succeeded: save the pointer to the page
+ m_pages.Insert(pPage, nPage);
- // fit the notebook page to the tab control's display area
- RECT rc;
- rc.left = rc.top = 0;
- GetSize((int *)&rc.right, (int *)&rc.bottom);
- TabCtrl_AdjustRect(m_hwnd, FALSE, &rc);
- pPage->SetSize(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top);
+ // hide the page: unless it is selected, it shouldn't be shown (and if it
+ // is selected it will be shown later)
+ HWND hwnd = GetWinHwnd(pPage);
+ SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_VISIBLE);
- // some page should be selected: either this one or the first one if there is
- // still no selection
- int selNew = -1;
- if ( bSelect )
- selNew = nPage;
- else if ( m_nSelection == -1 )
- selNew = 0;
+ // this updates internal flag too -- otherwise it would get out of sync
+ // with the real state
+ pPage->Show(FALSE);
- if ( selNew != -1 )
- SetSelection(selNew);
- return TRUE;
+ // now deal with the selection
+ // ---------------------------
+
+ // if the inserted page is before the selected one, we must update the
+ // index of the selected page
+ if ( nPage <= m_nSelection )
+ {
+ // one extra page added
+ m_nSelection++;
+ }
+
+ // some page should be selected: either this one or the first one if there
+ // is still no selection
+ int selNew = -1;
+ if ( bSelect )
+ selNew = nPage;
+ else if ( m_nSelection == -1 )
+ selNew = 0;
+
+ if ( selNew != -1 )
+ SetSelection(selNew);
+
+ return TRUE;
}
// ----------------------------------------------------------------------------
diff --git a/src/msw/ole/dataobj.cpp b/src/msw/ole/dataobj.cpp
index 7e2d2132a8..8661eaf36b 100644
--- a/src/msw/ole/dataobj.cpp
+++ b/src/msw/ole/dataobj.cpp
@@ -95,6 +95,8 @@ private:
CLIPFORMAT *m_formats; // formats we can provide data in
ULONG m_nCount, // number of formats we support
m_nCurrent; // current enum position
+
+ DECLARE_NO_COPY_CLASS(wxIEnumFORMATETC)
};
// ----------------------------------------------------------------------------
@@ -129,6 +131,8 @@ private:
wxDataObject *m_pDataObject; // pointer to C++ class we belong to
bool m_mustDelete;
+
+ DECLARE_NO_COPY_CLASS(wxIDataObject)
};
// ============================================================================
diff --git a/src/msw/ole/dropsrc.cpp b/src/msw/ole/dropsrc.cpp
index 8f0ab7e6f4..27dab34ead 100644
--- a/src/msw/ole/dropsrc.cpp
+++ b/src/msw/ole/dropsrc.cpp
@@ -71,6 +71,8 @@ public:
private:
DWORD m_grfInitKeyState; // button which started the d&d operation
wxDropSource *m_pDropSource; // pointer to C++ class we belong to
+
+ DECLARE_NO_COPY_CLASS(wxIDropSource)
};
// ============================================================================
diff --git a/src/msw/ole/droptgt.cpp b/src/msw/ole/droptgt.cpp
index c24d9d4008..c24f6e5ae6 100644
--- a/src/msw/ole/droptgt.cpp
+++ b/src/msw/ole/droptgt.cpp
@@ -85,6 +85,8 @@ protected:
// get default drop effect for given keyboard flags
static inline DWORD GetDropEffect(DWORD flags);
+
+ DECLARE_NO_COPY_CLASS(wxIDropTarget)
};
// ----------------------------------------------------------------------------
diff --git a/src/msw/region.cpp b/src/msw/region.cpp
index 4da2054b10..38d3267d44 100644
--- a/src/msw/region.cpp
+++ b/src/msw/region.cpp
@@ -70,6 +70,14 @@ public:
}
HRGN m_region;
+
+private:
+// Cannot use
+// DECLARE_NO_COPY_CLASS(wxRegionRefData)
+// because copy constructor is explicitly declared above;
+// but no copy assignment operator is defined, so declare
+// it private to prevent the compiler from defining it:
+ wxRegionRefData& operator=(const wxRegionRefData&);
};
#define M_REGION (((wxRegionRefData*)m_refData)->m_region)
diff --git a/src/msw/snglinst.cpp b/src/msw/snglinst.cpp
index ab93c3d66b..1593db9662 100644
--- a/src/msw/snglinst.cpp
+++ b/src/msw/snglinst.cpp
@@ -95,6 +95,8 @@ private:
// the mutex handle, may be NULL
HANDLE m_hMutex;
+
+ DECLARE_NO_COPY_CLASS(wxSingleInstanceCheckerImpl)
};
// ============================================================================
diff --git a/src/msw/thread.cpp b/src/msw/thread.cpp
index 4cbf5710d5..cf2353b615 100644
--- a/src/msw/thread.cpp
+++ b/src/msw/thread.cpp
@@ -174,6 +174,8 @@ private:
wxMutexError LockTimeout(DWORD milliseconds);
HANDLE m_mutex;
+
+ DECLARE_NO_COPY_CLASS(wxMutexInternal)
};
// all mutexes are recursive under Win32 so we don't use mutexType
@@ -272,6 +274,8 @@ public:
private:
HANDLE m_semaphore;
+
+ DECLARE_NO_COPY_CLASS(wxSemaphoreInternal)
};
wxSemaphoreInternal::wxSemaphoreInternal(int initialcount, int maxcount)
@@ -536,6 +540,8 @@ private:
wxThreadState m_state; // state, see wxThreadState enum
unsigned int m_priority; // thread priority in "wx" units
DWORD m_tid; // thread id
+
+ DECLARE_NO_COPY_CLASS(wxThreadInternal)
};
THREAD_RETVAL THREAD_CALLCONV wxThreadInternal::WinThreadStart(void *param)
diff --git a/src/msw/treectrl.cpp b/src/msw/treectrl.cpp
index f8e18e26d0..bffbc68439 100644
--- a/src/msw/treectrl.cpp
+++ b/src/msw/treectrl.cpp
@@ -322,6 +322,8 @@ public:
private:
wxTreeItemData *m_data;
+
+ DECLARE_NO_COPY_CLASS(wxVirtualNode)
};
#ifdef __VISUALC__
@@ -360,6 +362,8 @@ private:
bool Traverse(const wxTreeItemId& root, bool recursively);
const wxTreeCtrl *m_tree;
+
+ DECLARE_NO_COPY_CLASS(wxTreeTraversal)
};
// internal class for getting the selected items
@@ -487,6 +491,8 @@ private:
// the real client data
wxTreeItemData *m_data;
+
+ DECLARE_NO_COPY_CLASS(wxTreeItemIndirectData)
};
// ----------------------------------------------------------------------------
diff --git a/src/msw/utils.cpp b/src/msw/utils.cpp
index 66414baaa2..271a75da76 100644
--- a/src/msw/utils.cpp
+++ b/src/msw/utils.cpp
@@ -662,6 +662,8 @@ struct wxFindByPidParams
// the PID we're looking from
DWORD pid;
+
+ DECLARE_NO_COPY_CLASS(wxFindByPidParams)
};
// wxKill helper: EnumWindows() callback which is used to find the first (top
diff --git a/src/msw/utilsexc.cpp b/src/msw/utilsexc.cpp
index ae26542774..28fc5edfed 100644
--- a/src/msw/utilsexc.cpp
+++ b/src/msw/utilsexc.cpp
@@ -146,6 +146,8 @@ protected:
protected:
HANDLE m_hInput;
+
+ DECLARE_NO_COPY_CLASS(wxPipeInputStream)
};
class wxPipeOutputStream: public wxOutputStream
@@ -159,6 +161,8 @@ protected:
protected:
HANDLE m_hOutput;
+
+ DECLARE_NO_COPY_CLASS(wxPipeOutputStream)
};
// define this to let wxexec.cpp know that we know what we're doing