]> git.saurik.com Git - wxWidgets.git/commitdiff
RegisterAdditionalEditors() to work even if no wxPropertyGrids created, in sample...
authorJaakko Salli <jaakko.salli@dnainternet.net>
Mon, 29 Sep 2008 16:50:03 +0000 (16:50 +0000)
committerJaakko Salli <jaakko.salli@dnainternet.net>
Mon, 29 Sep 2008 16:50:03 +0000 (16:50 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55953 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/propgrid/propgrid.cpp
src/propgrid/advprops.cpp
src/propgrid/propgrid.cpp

index e4030606143738144d80fac98dbe0ec816e07258..5772484f8ce72908f7a5b277b1cacbf3fc3cd5cf 100644 (file)
@@ -2069,6 +2069,13 @@ FormMain::FormMain(const wxString& title, const wxPoint& pos, const wxSize& size
     wxInitAllImageHandlers();
 #endif
 
+    // Register all editors (SpinCtrl etc.)
+    m_pPropGridManager->RegisterAdditionalEditors();
+
+    // Register our sample custom editors
+    m_pSampleMultiButtonEditor =
+        wxPropertyGrid::RegisterEditorClass(new wxSampleMultiButtonEditor());
+
     CreateGrid( // style
                 wxPG_BOLD_MODIFIED |
                 wxPG_SPLITTER_AUTO_CENTER |
@@ -2088,13 +2095,6 @@ FormMain::FormMain(const wxString& title, const wxPoint& pos, const wxSize& size
                 //| wxPG_EX_HELP_AS_TOOLTIPS
               );
 
-    // Register all editors (SpinCtrl etc.)
-    m_pPropGridManager->RegisterAdditionalEditors();
-
-    // Register our sample custom editors
-    m_pSampleMultiButtonEditor =
-        wxPropertyGrid::RegisterEditorClass(new wxSampleMultiButtonEditor());
-
     //
     // Create menubar
     wxMenu *menuFile = new wxMenu(wxEmptyString, wxMENU_TEAROFF);
index e325cf9e1ece82c02a9e20db4065ce231fa6d107..71a57d4cb15bf431d8c4cccce81ed98e9ef383bf 100644 (file)
@@ -1993,6 +1993,10 @@ void wxPropertyGridInterface::InitAllTypeHandlers()
 
 void wxPropertyGridInterface::RegisterAdditionalEditors()
 {
+    // Register editor classes, if necessary.
+    if ( wxPGGlobalVars->m_mapEditorClasses.empty() )
+        wxPropertyGrid::RegisterDefaultEditors();
+
 #if wxUSE_SPINBTN
     wxPGRegisterEditorClass(SpinCtrl);
 #endif
index 317e4c0eb41d062700c40869147cb22b00576f48..42c77e223ab246b2903c190fdbcea3961cc6f877 100644 (file)
@@ -138,17 +138,8 @@ const wxChar *wxPropertyGridNameStr = wxT("wxPropertyGrid");
 
 // -----------------------------------------------------------------------
 // Statics in one class for easy destruction.
-// NB: We prefer to use wxModule, as it offers more consistent behavior
-//     across platforms. However, for those rare problem situations, we
-//     also need to offer option to use simpler approach.
 // -----------------------------------------------------------------------
 
-#ifndef wxPG_USE_WXMODULE
-    #define wxPG_USE_WXMODULE 1
-#endif
-
-#if wxPG_USE_WXMODULE
-
 #include <wx/module.h>
 
 class wxPGGlobalVarsClassManager : public wxModule
@@ -162,19 +153,6 @@ public:
 
 IMPLEMENT_DYNAMIC_CLASS(wxPGGlobalVarsClassManager, wxModule)
 
-#else // !wxPG_USE_WXMODULE
-
-class wxPGGlobalVarsClassManager
-{
-public:
-    wxPGGlobalVarsClassManager() {}
-    ~wxPGGlobalVarsClassManager() { delete wxPGGlobalVars; }
-};
-
-static wxPGGlobalVarsClassManager gs_pgGlobalVarsClassManager;
-
-#endif
-
 
 wxPGGlobalVarsClass* wxPGGlobalVars = (wxPGGlobalVarsClass*) NULL;
 
@@ -249,6 +227,10 @@ wxPGGlobalVarsClass::~wxPGGlobalVarsClass()
     delete wxPGProperty::sm_wxPG_LABEL;
 }
 
+void wxPropertyGridInitGlobalsIfNeeded()
+{
+}
+
 // -----------------------------------------------------------------------
 // wxPGBrush
 // -----------------------------------------------------------------------
@@ -567,14 +549,9 @@ bool wxPropertyGrid::Create( wxWindow *parent,
 //
 void wxPropertyGrid::Init1()
 {
-#if !wxPG_USE_WXMODULE
-    if ( !wxPGGlobalVars )
-        wxPGGlobalVars = new wxPGGlobalVarsClass();
-#endif
-
     // Register editor classes, if necessary.
     if ( wxPGGlobalVars->m_mapEditorClasses.empty() )
-        RegisterDefaultEditors();
+        wxPropertyGrid::RegisterDefaultEditors();
 
     m_iFlags = 0;
     m_pState = (wxPropertyGridPageState*) NULL;