]> git.saurik.com Git - wxWidgets.git/blobdiff - src/propgrid/propgrid.cpp
Forgot to commit
[wxWidgets.git] / src / propgrid / propgrid.cpp
index 05bfa384e8567d3b5bbffceb48b767c2dc646479..0b0f8a4bcf55de6d320331081b6033ea2d2c94c7 100644 (file)
 // This define is necessary to prevent macro clearing
 #define __wxPG_SOURCE_FILE__
 
-#include <wx/propgrid/propgrid.h>
-#include <wx/propgrid/editors.h>
+#include "wx/propgrid/propgrid.h"
+#include "wx/propgrid/editors.h"
 
 #if wxPG_USE_RENDERER_NATIVE
-    #include <wx/renderer.h>
+    #include "wx/renderer.h"
 #endif
 
-#include <wx/odcombo.h>
+#include "wx/odcombo.h"
 
 #include "wx/timer.h"
 #include "wx/dcbuffer.h"
-#include <wx/clipbrd.h>
-#include <wx/dataobj.h>
+#include "wx/clipbrd.h"
+#include "wx/dataobj.h"
 
 #ifdef __WXMSW__
-    #include <wx/msw/private.h>
+    #include "wx/msw/private.h"
 #endif
 
 // Two pics for the expand / collapse buttons.
@@ -140,7 +140,7 @@ const wxChar *wxPropertyGridNameStr = wxT("wxPropertyGrid");
 // Statics in one class for easy destruction.
 // -----------------------------------------------------------------------
 
-#include <wx/module.h>
+#include "wx/module.h"
 
 class wxPGGlobalVarsClassManager : public wxModule
 {
@@ -1174,7 +1174,8 @@ bool wxPropertyGrid::SetFont( const wxFont& font )
     // TODO: Following code is disabled with wxMac because
     //   it is reported to fail. I (JMS) cannot debug it
     //   personally right now.
-#if !defined(__WXMAC__)
+    // CS: should be fixed now, leaving old code in just in case, TODO: REMOVE
+#if 1 // !defined(__WXMAC__)
     bool res = wxScrolledWindow::SetFont( font );
     if ( res )
     {
@@ -5334,6 +5335,13 @@ wxPGEditor* wxPropertyGrid::RegisterEditorClass( wxPGEditor* editorClass,
     // Existing editor under this name?
     wxPGHashMapS2P::iterator vt_it = wxPGGlobalVars->m_mapEditorClasses.find(name);
 
+    if ( vt_it != wxPGGlobalVars->m_mapEditorClasses.end() )
+    {
+        // If this name was already used, try class name.
+        name = editorClass->GetClassInfo()->GetClassName();
+        vt_it = wxPGGlobalVars->m_mapEditorClasses.find(name);
+    }
+
     wxCHECK_MSG( vt_it == wxPGGlobalVars->m_mapEditorClasses.end(),
                  (wxPGEditor*) vt_it->second,
                  "Editor with given name was already registered" );
@@ -5343,6 +5351,14 @@ wxPGEditor* wxPropertyGrid::RegisterEditorClass( wxPGEditor* editorClass,
     return editorClass;
 }
 
+// Use this in RegisterDefaultEditors.
+#define wxPGRegisterDefaultEditorClass(EDITOR) \
+    if ( wxPGEditor_##EDITOR == (wxPGEditor*) NULL ) \
+    { \
+        wxPGEditor_##EDITOR = wxPropertyGrid::RegisterEditorClass( \
+            new wxPG##EDITOR##Editor, true ); \
+    }
+
 // Registers all default editor classes
 void wxPropertyGrid::RegisterDefaultEditors()
 {