| // Windows/Window.cpp |
| |
| #include "StdAfx.h" |
| |
| // For compilers that support precompilation, includes "wx/wx.h". |
| #include "wx/wxprec.h" |
| |
| #ifdef __BORLANDC__ |
| #pragma hdrstop |
| #endif |
| |
| // for all others, include the necessary headers (this file is usually all you |
| // need because it includes almost all "standard" wxWidgets headers) |
| #ifndef WX_PRECOMP |
| #include "wx/wx.h" |
| #endif |
| |
| #undef _WIN32 |
| |
| #ifndef _UNICODE |
| #include "Common/StringConvert.h" |
| #endif |
| #include "Windows/Window.h" |
| |
| void verify_main_thread(void); |
| |
| class LockGUI |
| { |
| bool _IsMain; |
| public: |
| LockGUI() { |
| verify_main_thread(); |
| |
| _IsMain = wxThread::IsMain(); |
| if (!_IsMain) { |
| printf("LockGUI-Windows\n"); |
| abort(); // FIXME wxMutexGuiEnter(); |
| } |
| } |
| ~LockGUI() { if (!_IsMain) wxMutexGuiLeave(); } |
| }; |
| |
| namespace NWindows { |
| |
| HWND GetDlgItem(HWND dialogWindow, int ControlID) |
| { |
| LockGUI lock; |
| if (dialogWindow) return dialogWindow->FindWindow(ControlID); |
| return 0; |
| } |
| |
| void MySetWindowText(HWND wnd, LPCWSTR s) |
| { |
| if (wnd == 0) return; |
| |
| LockGUI lock; |
| |
| wxString str = s; |
| /* |
| int id = wnd->GetId(); |
| if ( (id != wxID_OK) && (id != wxID_CANCEL) && (id != wxID_HELP) && (id != wxID_YES) && (id != wxID_NO)) |
| */ |
| { |
| wnd->SetLabel(str); |
| } |
| } |
| |
| bool CWindow::GetText(CSysString &s) |
| { |
| wxString str; |
| { |
| LockGUI lock; |
| str = _window->GetLabel(); |
| } |
| s = str; |
| return true; |
| } |
| |
| bool CWindow::IsEnabled() |
| { |
| LockGUI lock; |
| return _window->IsEnabled(); |
| } |
| } |
| |
| ////////////////////////////////// Windows Compatibility |
| #include <sys/resource.h> |
| |
| void Sleep(unsigned millisec) |
| { |
| wxMilliSleep(millisec); |
| } |
| |
| t_processID GetCurrentProcess(void) { |
| return getpid(); |
| } |
| |
| void SetPriorityClass(t_processID pid , int priority) { |
| setpriority(PRIO_PROCESS,pid,priority); |
| } |
| |