]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/utils.h
translate "Copy URL" string in the popup menu (feature request 1803958) (should have...
[wxWidgets.git] / include / wx / utils.h
index b0b2ee611a0557f3beb11053fb21e6922b724784..bba48e566ae93d5cfc3c1e3b724287bccc2936a9 100644 (file)
@@ -9,8 +9,8 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef _WX_UTILSH__
-#define _WX_UTILSH__
+#ifndef _WX_UTILS_H_
+#define _WX_UTILS_H_
 
 // ----------------------------------------------------------------------------
 // headers
@@ -46,7 +46,7 @@ class WXDLLIMPEXP_FWD_BASE wxArrayInt;
 // Forward declaration
 // ----------------------------------------------------------------------------
 
-class WXDLLIMPEXP_FWD_CORE wxProcess;
+class WXDLLIMPEXP_FWD_BASE wxProcess;
 class WXDLLIMPEXP_FWD_CORE wxFrame;
 class WXDLLIMPEXP_FWD_CORE wxWindow;
 class WXDLLIMPEXP_FWD_CORE wxWindowList;
@@ -87,6 +87,11 @@ WXDLLIMPEXP_CORE void wxBell();
 WXDLLIMPEXP_BASE void wxBell();
 #endif
 
+#if wxUSE_MSGDLG
+// Show wxWidgets information
+WXDLLIMPEXP_CORE void wxInfoMessageBox(wxWindow* parent);
+#endif // wxUSE_MSGDLG
+
 // Get OS description as a user-readable string
 WXDLLIMPEXP_BASE wxString wxGetOsDescription();
 
@@ -131,7 +136,7 @@ class WXDLLIMPEXP_BASE wxPlatform
 public:
     wxPlatform() { Init(); }
     wxPlatform(const wxPlatform& platform) { Copy(platform); }
-    void operator = (const wxPlatform& platform) { Copy(platform); }
+    void operator = (const wxPlatform& platform) { if (&platform != this) Copy(platform); }
     void Copy(const wxPlatform& platform);
 
     // Specify an optional default value
@@ -212,6 +217,7 @@ public:
     wxMouseState()
         : m_x(0), m_y(0),
           m_leftDown(false), m_middleDown(false), m_rightDown(false),
+          m_aux1Down(false), m_aux2Down(false),
           m_controlDown(false), m_shiftDown(false), m_altDown(false),
           m_metaDown(false)
     {}
@@ -222,6 +228,8 @@ public:
     bool        LeftDown()    { return m_leftDown; }
     bool        MiddleDown()  { return m_middleDown; }
     bool        RightDown()   { return m_rightDown; }
+    bool        Aux1Down()    { return m_aux1Down; }
+    bool        Aux2Down()    { return m_aux2Down; }
 
     bool        ControlDown() { return m_controlDown; }
     bool        ShiftDown()   { return m_shiftDown; }
@@ -242,6 +250,8 @@ public:
     void        SetLeftDown(bool down)   { m_leftDown = down; }
     void        SetMiddleDown(bool down) { m_middleDown = down; }
     void        SetRightDown(bool down)  { m_rightDown = down; }
+    void        SetAux1Down(bool down)   { m_aux1Down = down; }
+    void        SetAux2Down(bool down)   { m_aux2Down = down; }
 
     void        SetControlDown(bool down) { m_controlDown = down; }
     void        SetShiftDown(bool down)   { m_shiftDown = down; }
@@ -255,6 +265,8 @@ private:
     bool        m_leftDown : 1;
     bool        m_middleDown : 1;
     bool        m_rightDown : 1;
+    bool        m_aux1Down : 1;
+    bool        m_aux2Down : 1;
 
     bool        m_controlDown : 1;
     bool        m_shiftDown : 1;
@@ -478,6 +490,9 @@ wxDEPRECATED( inline bool wxSetEnv(const wxString& var, int value) );
 inline bool wxSetEnv(const wxString& var, int value)
 {
     wxASSERT_MSG( value == 0, "using non-NULL integer as string?" );
+
+    wxUnusedVar(value); // fix unused parameter warning in release build
+
     return wxUnsetEnv(var);
 }
 #endif // WXWIN_COMPATIBILITY_2_8
@@ -512,13 +527,10 @@ WXDLLIMPEXP_BASE wxString wxGetUserName();
 WXDLLIMPEXP_BASE wxString wxGetHomeDir();
 WXDLLIMPEXP_BASE const wxChar* wxGetHomeDir(wxString *pstr);
 
-// Get the user's home dir (caller must copy --- volatile)
-// returns NULL is no HOME dir is known
-#if defined(__UNIX__) && wxUSE_UNICODE && !defined(__WINE__)
-WXDLLIMPEXP_BASE const wxMB2WXbuf wxGetUserHome(const wxString& user = wxEmptyString);
-#else
-WXDLLIMPEXP_BASE wxChar* wxGetUserHome(const wxString& user = wxEmptyString);
-#endif
+// Get the user's (by default use the current user name) home dir,
+// return empty string on error
+WXDLLIMPEXP_BASE wxString wxGetUserHome(const wxString& user = wxEmptyString);
+
 
 #if wxUSE_LONGLONG
     typedef wxLongLong wxDiskspaceSize_t;
@@ -531,6 +543,18 @@ WXDLLIMPEXP_BASE bool wxGetDiskSpace(const wxString& path,
                                      wxDiskspaceSize_t *pTotal = NULL,
                                      wxDiskspaceSize_t *pFree = NULL);
 
+
+
+extern "C"
+{
+typedef int (wxCMPFUNC_CONV *CMPFUNCDATA)(const void* pItem1, const void* pItem2, const void* user_data);
+}
+
+
+WXDLLIMPEXP_BASE void wxQsort(void *const pbase, size_t total_elems,
+                              size_t size, CMPFUNCDATA cmp, const void* user_data);
+
+
 #if wxUSE_GUI // GUI only things from now on
 
 // ----------------------------------------------------------------------------
@@ -686,7 +710,7 @@ void WXDLLEXPORT wxGetMousePosition( int* x, int* y );
 #if defined(__X__) || defined(__WXGTK__)
 
 #ifdef __WXGTK__
-    void *wxGetDisplay();
+    WXDLLIMPEXP_CORE void *wxGetDisplay();
 #endif
 
 #ifdef __X__
@@ -709,9 +733,16 @@ inline struct _XDisplay *wxGetX11Display()
 // wxYield(): these functions are obsolete, please use wxApp methods instead!
 // ----------------------------------------------------------------------------
 
+// avoid redeclaring this function here if it had been already declated by
+// wx/app.h, this results in warnings from g++ with -Wredundant-decls
+#ifndef wx_YIELD_DECLARED
+#define wx_YIELD_DECLARED
+
 // Yield to other apps/messages
 WXDLLIMPEXP_BASE bool wxYield();
 
+#endif // wx_YIELD_DECLARED
+
 // Like wxYield, but fails silently if the yield is recursive.
 WXDLLIMPEXP_BASE bool wxYieldIfNeeded();