]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/object.cpp
Added test for long long type. (Really trivial, see setup.h: SIZEOF_xxx)
[wxWidgets.git] / src / common / object.cpp
index 6950dc80ccf1250149af7f01ee4c610dcd67dc26..acebb417292c064706eb41e0c08ba9e30271fc1c 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     04/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:    wxWindows license
+// Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 #ifdef __GNUG__
 #endif
 
 #ifndef WX_PRECOMP
-#include "wx/hash.h"
-#ifdef wxUSE_SERIAL
-#include "wx/objstrm.h"
-#include "wx/serbase.h"
-#endif
-#endif
+    #include "wx/hash.h"
+    #if wxUSE_SERIAL
+        #include "wx/objstrm.h"
+        #include "wx/serbase.h"
+
+        // for error messages
+        #include "wx/log.h"
+        #include "wx/intl.h"
+    #endif // wxUSE_SERIAL
+#endif // WX_PRECOMP
 
 #include <string.h>
 #include <assert.h>
 
-#if (WXDEBUG && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT
+#if (defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT
 #include "wx/memory.h"
 #endif
 
-#if WXDEBUG || wxUSE_DEBUG_CONTEXT
-  // for wxObject::Dump
-#if wxUSE_IOSTREAMH
-#  include <iostream.h>
-#else
-#  include <iostream>
-#  ifdef _MSC_VER
-      using namespace std;
-#  endif
-#endif
+#if defined(__WXDEBUG__) || wxUSE_DEBUG_CONTEXT
+    // for wxObject::Dump
+    #include "wx/ioswrap.h"
 #endif
 
 #if !USE_SHARED_LIBRARY
@@ -60,7 +57,7 @@ wxHashTable* wxClassInfo::sm_classTable = (wxHashTable*) NULL;
 wxObject::wxObject(void)
 {
   m_refData = (wxObjectRefData *) NULL;
-#ifdef wxUSE_SERIAL
+#if wxUSE_SERIAL
   m_serialObj = (wxObject_Serialize *)NULL;
 #endif
 }
@@ -68,7 +65,7 @@ wxObject::wxObject(void)
 wxObject::~wxObject(void)
 {
        UnRef();
-#ifdef wxUSE_SERIAL
+#if wxUSE_SERIAL
        if (m_serialObj)
          delete m_serialObj;
 #endif
@@ -90,7 +87,7 @@ bool wxObject::IsKindOf(wxClassInfo *info) const
     return FALSE;
 }
 
-#if WXDEBUG || wxUSE_DEBUG_CONTEXT
+#if defined(__WXDEBUG__) || wxUSE_DEBUG_CONTEXT
 void wxObject::Dump(ostream& str)
 {
   if (GetClassInfo() && GetClassInfo()->GetClassName())
@@ -100,7 +97,7 @@ void wxObject::Dump(ostream& str)
 }
 #endif
 
-#if WXDEBUG && wxUSE_MEMORY_TRACING
+#if defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING
 
 #ifdef new
 #undef new
@@ -117,15 +114,15 @@ void wxObject::operator delete (void * buf)
 }
 
 // VC++ 6.0
-#if _MSC_VER >= 1200
-void operator wxObject::delete(void* pData, char* /* fileName */, int /* lineNum */)
+#if defined(__VISUALC__) && (__VISUALC__ >= 1200)
+void wxObject::operator delete(void* pData, char* /* fileName */, int /* lineNum */)
 {
  ::operator delete(pData);
 }
 #endif
 
 // Cause problems for VC++ - crashes
-#ifndef _MSC_VER
+#if !defined(__VISUALC__) && wxUSE_ARRAY_MEMORY_OPERATORS
 void * wxObject::operator new[] (size_t size, char * fileName, int lineNum)
 {
   return wxDebugAlloc(size, fileName, lineNum, TRUE, TRUE);
@@ -265,7 +262,7 @@ wxObject *wxCreateDynamicObject(const char *name)
     return (wxObject*) NULL;
 }
 
-#ifdef wxUSE_SERIAL
+#if wxUSE_SERIAL
 
 #include "wx/serbase.h"
 #include "wx/dynlib.h"
@@ -283,19 +280,17 @@ void wxObject::StoreObject( wxObjectOutputStream& stream )
   wxLibrary *lib = wxTheLibraries.LoadLibrary("wxserial");
 
   if (!lib) {
-    wxMessageBox("Can't load wxSerial dynamic library.", "Alert !");
+    wxLogError(_("Can't load wxSerial dynamic library."));
     return;
   }
   if (!m_serialObj) {
     m_serialObj = (WXSERIAL(wxObject) *)lib->CreateObject( obj_name );
 
     if (!m_serialObj) {
-      wxString message;
-
-      message.Printf("Can't find the serialization object (%s) for the object %s",
-                     WXSTRINGCAST obj_name,
-                     WXSTRINGCAST GetClassInfo()->GetClassName());
-      wxMessageBox(message, "Alert !");
+      wxLogError(_("Can't find the serialization object '%s' "
+                   "for the object '%s'."),
+                 obj_name.c_str(),
+                 GetClassInfo()->GetClassName());
       return;
     }
     m_serialObj->SetObject(this);
@@ -313,12 +308,10 @@ void wxObject::LoadObject( wxObjectInputStream& stream )
     m_serialObj = (WXSERIAL(wxObject) *)lib->CreateObject( obj_name );
 
     if (!m_serialObj) {
-      wxString message;
-
-      message.Printf("Can't find the serialization object (%s) for the object %s",
-                     WXSTRINGCAST obj_name,
-                     WXSTRINGCAST GetClassInfo()->GetClassName());
-      wxMessageBox(message, "Alert !");
+      wxLogError(_("Can't find the serialization object '%s' "
+                   "for the object '%s'."),
+                 obj_name.c_str(),
+                 GetClassInfo()->GetClassName());
       return;
     }
     m_serialObj->SetObject(this);