]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/utilsgui.cpp
Fix for crash when opening empty node
[wxWidgets.git] / src / os2 / utilsgui.cpp
index a3779dee7fba36aaa817b34f12291058bdb546f0..79b584d217c3ec4ca63810751e61c21f1c419553 100644 (file)
     #include "wx/utils.h"
     #include "wx/app.h"
     #include "wx/cursor.h"
+    #include "wx/font.h"
     #include "wx/timer.h"
 #endif //WX_PRECOMP
 
 #include "wx/apptrait.h"
+#include "wx/os2/private/timer.h"
+#include "wx/evtloop.h"
 
 #include "wx/os2/private.h"     // includes <windows.h>
 
@@ -56,190 +59,6 @@ public:
     }
 };
 
-// Reading and writing resources (eg WIN.INI, .Xdefaults)
-#if wxUSE_RESOURCES
-bool wxWriteResource( const wxString& rSection,
-                      const wxString& rEntry,
-                      const wxString& rValue,
-                      const wxString& rFile )
-{
-    HAB  hab = 0;
-    HINI hIni = 0;
-
-    if (!rFile.empty())
-    {
-        hIni = ::PrfOpenProfile(hab, (PSZ)WXSTRINGCAST rFile);
-        if (hIni != 0L)
-        {
-            return (::PrfWriteProfileString( hIni
-                                            ,(PSZ)WXSTRINGCAST rSection
-                                            ,(PSZ)WXSTRINGCAST rEntry
-                                            ,(PSZ)WXSTRINGCAST rValue
-                                           ));
-        }
-    }
-    else
-        return (::PrfWriteProfileString( HINI_PROFILE
-                                        ,(PSZ)WXSTRINGCAST rSection
-                                        ,(PSZ)WXSTRINGCAST rEntry
-                                        ,(PSZ)WXSTRINGCAST rValue
-                                       ));
-    return false;
-}
-
-bool wxWriteResource(
-  const wxString&                   rSection
-, const wxString&                   rEntry
-, float                             fValue
-, const wxString&                   rFile
-)
-{
-    wxChar                          zBuf[50];
-
-    wxSprintf(zBuf, "%.4f", fValue);
-    return wxWriteResource( rSection
-                           ,rEntry
-                           ,zBuf
-                           ,rFile
-                          );
-}
-
-bool wxWriteResource(
-  const wxString&                   rSection
-, const wxString&                   rEntry
-, long                              lValue
-, const wxString&                   rFile
-)
-{
-    wxChar                          zBuf[50];
-
-    wxSprintf(zBuf, "%ld", lValue);
-    return wxWriteResource( rSection
-                           ,rEntry
-                           ,zBuf
-                           ,rFile
-                          );
-}
-
-bool wxWriteResource( const wxString& rSection,
-                      const wxString& rEntry,
-                      int lValue,
-                      const wxString& rFile )
-{
-    wxChar zBuf[50];
-
-    wxSprintf(zBuf, "%d", lValue);
-    return wxWriteResource( rSection, rEntry, zBuf, rFile );
-}
-
-bool wxGetResource( const wxString& rSection,
-                    const wxString& rEntry,
-                    wxChar** ppValue,
-                    const wxString& rFile )
-{
-    HAB    hab = 0;
-    HINI   hIni = 0;
-    wxChar zDefunkt[] = _T("$$default");
-    char   zBuf[1000];
-
-    if (!rFile.empty())
-    {
-        hIni = ::PrfOpenProfile(hab, (PSZ)WXSTRINGCAST rFile);
-        if (hIni != 0L)
-        {
-            ULONG n = ::PrfQueryProfileString( hIni
-                                              ,(PSZ)WXSTRINGCAST rSection
-                                              ,(PSZ)WXSTRINGCAST rEntry
-                                              ,(PSZ)zDefunkt
-                                              ,(PVOID)zBuf
-                                              ,1000
-                                             );
-            if (zBuf == NULL)
-                return false;
-            if (n == 0L || wxStrcmp(zBuf, zDefunkt) == 0)
-                return false;
-            zBuf[n-1] = '\0';
-        }
-        else
-            return false;
-    }
-    else
-    {
-        ULONG n = ::PrfQueryProfileString( HINI_PROFILE
-                                          ,(PSZ)WXSTRINGCAST rSection
-                                          ,(PSZ)WXSTRINGCAST rEntry
-                                          ,(PSZ)zDefunkt
-                                          ,(PVOID)zBuf
-                                          ,1000
-                                         );
-        if (zBuf == NULL)
-            return false;
-        if (n == 0L || wxStrcmp(zBuf, zDefunkt) == 0)
-            return false;
-        zBuf[n-1] = '\0';
-    }
-    strcpy((char*)*ppValue, zBuf);
-    return true;
-}
-
-bool wxGetResource( const wxString& rSection,
-                    const wxString& rEntry,
-                    float* pValue,
-                    const wxString& rFile )
-{
-    wxChar* zStr = NULL;
-
-    zStr = new wxChar[1000];
-    bool bSucc = wxGetResource( rSection, rEntry, (wxChar **)&zStr, rFile );
-
-    if (bSucc)
-    {
-        *pValue = (float)wxStrtod(zStr, NULL);
-    }
-
-    delete[] zStr;
-    return bSucc;
-}
-
-bool wxGetResource( const wxString& rSection,
-                    const wxString& rEntry,
-                    long* pValue,
-                    const wxString& rFile )
-{
-    wxChar* zStr = NULL;
-
-    zStr = new wxChar[1000];
-    bool bSucc = wxGetResource( rSection, rEntry, (wxChar **)&zStr, rFile );
-
-    if (bSucc)
-    {
-        *pValue = wxStrtol(zStr, NULL, 10);
-    }
-
-    delete[] zStr;
-    return bSucc;
-}
-
-bool wxGetResource( const wxString& rSection,
-                    const wxString& rEntry,
-                    int* pValue,
-                    const wxString& rFile )
-{
-    wxChar* zStr = NULL;
-
-    zStr = new wxChar[1000];
-    bool bSucc = wxGetResource( rSection, rEntry, (wxChar **)&zStr, rFile );
-
-    if (bSucc)
-    {
-        *pValue = (int)wxStrtol(zStr, NULL, 10);
-    }
-
-    delete[] zStr;
-    return bSucc;
-}
-#endif // wxUSE_RESOURCES
-
 // ---------------------------------------------------------------------------
 // helper functions for showing a "busy" cursor
 // ---------------------------------------------------------------------------
@@ -439,10 +258,20 @@ void wxGUIAppTraits::TerminateGui(unsigned long ulHab)
 
 wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
 {
-    // TODO: how to get version of PM ?
+    // How to get version of PM ? I guess, just reusing the OS version is OK.
+    (void) wxGetOsVersion(verMaj, verMin);
     return wxPORT_OS2;
 }
 
+wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
+{
+    return new wxOS2TimerImpl(timer);
+}
+
+wxEventLoopBase* wxGUIAppTraits::CreateEventLoop()
+{
+    return new wxEventLoop;
+}
 
 // ---------------------------------------------------------------------------
 // window information functions