]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/module.h
Use wxGetTranslation() instead of _() in the public headers.
[wxWidgets.git] / include / wx / module.h
index e255fe8bbd4bbc151bc708fef4c3945506db160f..96600b76ca4f0697f25c0371b4ae12b69af19fca 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Wolfram Gloger/adapted by Guilhem Lavaux
 // Modified by:
 // Created:     04/11/98
-// RCS-ID:      $Id$
 // Copyright:   (c) Wolfram Gloger and Guilhem Lavaux
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -14,6 +13,7 @@
 
 #include "wx/object.h"
 #include "wx/list.h"
+#include "wx/arrstr.h"
 #include "wx/dynarray.h"
 
 // declare a linked list of modules
@@ -68,11 +68,19 @@ protected:
     // after that
     void AddDependency(wxClassInfo *dep)
     {
-        wxCHECK_RET( dep, _T("NULL module dependency") );
+        wxCHECK_RET( dep, wxT("NULL module dependency") );
 
         m_dependencies.Add(dep);
     }
 
+    // same as the version above except it will look up wxClassInfo by name on
+    // its own
+    void AddDependency(const char *className)
+    {
+        m_namedDependencies.Add(className);
+    }
+
+
 private:
     // initialize module and Append it to initializedModules list recursively
     // calling itself to satisfy module dependencies if needed
@@ -84,11 +92,19 @@ private:
     // could be initialized) and also empty m_modules itself
     static void DoCleanUpModules(const wxModuleList& modules);
 
+    // resolve all named dependencies and add them to the normal m_dependencies
+    bool ResolveNamedDependencies();
+
 
-    // module dependencies: contains
+    // module dependencies: contains wxClassInfo pointers for all modules which
+    // must be initialized before this one
     wxArrayClassInfo m_dependencies;
 
-    // used internally while initiliazing/cleaning up modules
+    // and the named dependencies: those will be resolved during run-time and
+    // added to m_dependencies
+    wxArrayString m_namedDependencies;
+
+    // used internally while initializing/cleaning up modules
     enum
     {
         State_Registered,   // module registered but not initialized yet