]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/app.h
addind nonowned window implementation
[wxWidgets.git] / include / wx / app.h
index 5de475c2a80e1fcb678cfded6abe156c907d1186..553a29aa5c2cb2b98ad429f4a57811b5c04b4545 100644 (file)
@@ -19,6 +19,7 @@
 
 #include "wx/event.h"       // for the base class
 #include "wx/build.h"
+#include "wx/cmdargs.h"     // for wxCmdLineArgsArray used by wxApp::argv
 #include "wx/init.h"        // we must declare wxEntry()
 #include "wx/intl.h"        // for wxLayoutDirection
 
@@ -142,6 +143,19 @@ public:
     const wxString& GetVendorName() const { return m_vendorName; }
     void SetVendorName(const wxString& name) { m_vendorName = name; }
 
+        // set/get the vendor display name:  the display name is shown
+        // in titles/reports/dialogs to the user, while the vendor name
+        // is used in some areas such as wxConfig, wxStandardPaths, etc
+    const wxString& GetVendorDisplayName() const
+    {
+        return m_vendorDisplayName.empty() ? GetVendorName()
+                                           : m_vendorDisplayName;
+    }
+    void SetVendorDisplayName(const wxString& name)
+    {
+        m_vendorDisplayName = name;
+    }
+
 
     // cmd line parsing stuff
     // ----------------------
@@ -181,7 +195,7 @@ public:
     // either should be configurable by the user (then he can change the
     // default behaviour simply by overriding CreateTraits() and returning his
     // own traits object) or which is GUI/console dependent as then wxAppTraits
-    // allows us to abstract the differences behind the common fade
+    // allows us to abstract the differences behind the common facade
     wxAppTraits *GetTraits();
 
 
@@ -316,8 +330,17 @@ public:
 
 
     // command line arguments (public for backwards compatibility)
-    int      argc;
-    wxChar **argv;
+    int argc;
+
+    // this object is implicitly convertible to either "char**" (traditional
+    // type of argv parameter of main()) or to "wchar_t **" (for compatibility
+    // with Unicode build in previous wx versions and because the command line
+    // can, in pr
+#if wxUSE_UNICODE
+    wxCmdLineArgsArray argv;
+#else
+    char **argv;
+#endif
 
 protected:
     // the function which creates the traits object when GetTraits() needs it
@@ -336,7 +359,8 @@ protected:
     wxEventLoopBase *CreateMainLoop();
 
     // application info (must be set from the user code)
-    wxString m_vendorName,        // vendor name (e.g. "ACME Inc")
+    wxString m_vendorName,        // vendor name ("acme")
+             m_vendorDisplayName, // vendor display name (e.g. "ACME Inc")
              m_appName,           // app name ("myapp")
              m_appDisplayName,    // app display name ("My Application")
              m_className;         // class name
@@ -485,6 +509,9 @@ public:
     // if it's unknown
     virtual wxLayoutDirection GetLayoutDirection() const;
 
+    // Change the theme used by the application, return true on success.
+    virtual bool SetNativeTheme(const wxString& WXUNUSED(theme)) { return false; }
+
 
     // command line parsing (GUI-specific)
     // ------------------------------------------------------------------------
@@ -609,9 +636,16 @@ protected:
 // Force an exit from main loop
 extern void WXDLLIMPEXP_BASE wxExit();
 
+// avoid redeclaring this function here if it had been already declated by
+// wx/utils.h, this results in warnings from g++ with -Wredundant-decls
+#ifndef wx_YIELD_DECLARED
+#define wx_YIELD_DECLARED
+
 // Yield to other apps/messages
 extern bool WXDLLIMPEXP_BASE wxYield();
 
+#endif // wx_YIELD_DECLARED
+
 // Yield to other apps/messages
 extern void WXDLLIMPEXP_BASE wxWakeUpIdle();