#include "wx/cursor.h"
#endif //WX_PRECOMP
+#include "wx/apptrait.h"
+#include "wx/timer.h"
+
#include "wx/os2/private.h" // includes <windows.h>
// ============================================================================
}
};
-static wxTimer* wxTheSleepTimer = NULL;
-
// Reading and writing resources (eg WIN.INI, .Xdefaults)
#if wxUSE_RESOURCES
bool wxWriteResource(
QMSG vMsg;
HAB hab = 0;
HWND hwndFilter = NULLHANDLE;
- HWND hwndWin= (HWND) pWnd->GetHWND();
while(::WinPeekMsg(hab, &vMsg, hwndFilter, 0, 0, PM_REMOVE))
{
wxDisplaySize(width, height);
}
+void wxGUIAppTraits::InitializeGui(unsigned long &ulHab)
+{
+ ulHab = ::WinInitialize(0);
+}
+
+void wxGUIAppTraits::TerminateGui(unsigned long ulHab)
+{
+ ::WinTerminate(ulHab);
+}
+
+wxToolkitInfo & wxGUIAppTraits::GetToolkitInfo()
+{
+ static wxToolkitInfo vInfo;
+ ULONG ulSysInfo[QSV_MAX] = {0};
+ APIRET ulrc;
+
+ vInfo.shortName = _T("PM");
+ vInfo.name = _T("wxOS2");
+#ifdef __WXUNIVERSAL__
+ vInfo.shortName << _T("univ");
+ vInfo.name << _T("/wxUniversal");
+#endif
+ ulrc = ::DosQuerySysInfo( 1L
+ ,QSV_MAX
+ ,(PVOID)ulSysInfo
+ ,sizeof(ULONG) * QSV_MAX
+ );
+ if (ulrc == 0L)
+ {
+ vInfo.versionMajor = ulSysInfo[QSV_VERSION_MAJOR] / 10;
+ vInfo.versionMinor = ulSysInfo[QSV_VERSION_MINOR];
+ }
+ vInfo.os = wxOS2_PM;
+ return vInfo;
+}
+
// ---------------------------------------------------------------------------
// window information functions
// ---------------------------------------------------------------------------
)
{
wxString vStr;
- long lLen = ::WinQueryWindowTextLength((HWND)hWnd) + 1;
- ::WinQueryWindowText((HWND)hWnd, lLen, vStr.GetWriteBuf((int)lLen));
- vStr.UngetWriteBuf();
+ if ( hWnd )
+ {
+ long lLen = ::WinQueryWindowTextLength((HWND)hWnd) + 1;
+ ::WinQueryWindowText((HWND)hWnd, lLen, wxStringBuffer(vStr, lLen));
+ }
return vStr;
}
)
{
wxString vStr;
- int nLen = 256; // some starting value
-
- for ( ;; )
+ if ( hWnd )
{
- int nCount = ::WinQueryClassName((HWND)hWnd, nLen, vStr.GetWriteBuf(nLen));
-
- vStr.UngetWriteBuf();
- if (nCount == nLen )
- {
- // the class name might have been truncated, retry with larger
- // buffer
- nLen *= 2;
- }
- else
- {
- break;
+ int nLen = 256; // some starting value
+
+ for ( ;; )
+ {
+ int nCount = ::WinQueryClassName((HWND)hWnd, nLen, wxStringBuffer(vStr, nLen));
+
+ if (nCount == nLen )
+ {
+ // the class name might have been truncated, retry with larger
+ // buffer
+ nLen *= 2;
+ }
+ else
+ {
+ break;
+ }
}
}
return vStr;