X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/93fbbe07650f0f5b47a162081160007b4d9e3b87..76e7cfab8fdb0c7862fd07e427af54181717fc62:/src/os2/control.cpp diff --git a/src/os2/control.cpp b/src/os2/control.cpp index 5b74ae803e..50020c88b5 100644 --- a/src/os2/control.cpp +++ b/src/os2/control.cpp @@ -4,7 +4,6 @@ // Author: David Webster // Modified by: // Created: 09/17/99 -// RCS-ID: $Id$ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -22,6 +21,7 @@ #include "wx/log.h" #endif +#include "wx/os2/dc.h" #include "wx/os2/private.h" IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow) @@ -59,11 +59,6 @@ bool wxControl::Create( wxWindow* pParent, return bRval; } // end of wxControl::Create -wxControl::~wxControl() -{ - m_isBeingDeleted = true; -} - bool wxControl::OS2CreateControl( const wxChar* zClassname, const wxString& rsLabel, const wxPoint& rPos, @@ -110,15 +105,15 @@ bool wxControl::OS2CreateControl( const wxChar* zClassname, if (!pParent) return false; - if ((wxStrcmp(zClassname, _T("COMBOBOX"))) == 0) + if ((wxStrcmp(zClassname, wxT("COMBOBOX"))) == 0) zClass = WC_COMBOBOX; - else if ((wxStrcmp(zClassname, _T("STATIC"))) == 0) + else if ((wxStrcmp(zClassname, wxT("STATIC"))) == 0) zClass = WC_STATIC; - else if ((wxStrcmp(zClassname, _T("BUTTON"))) == 0) + else if ((wxStrcmp(zClassname, wxT("BUTTON"))) == 0) zClass = WC_BUTTON; - else if ((wxStrcmp(zClassname, _T("NOTEBOOK"))) == 0) + else if ((wxStrcmp(zClassname, wxT("NOTEBOOK"))) == 0) zClass = WC_NOTEBOOK; - else if ((wxStrcmp(zClassname, _T("CONTAINER"))) == 0) + else if ((wxStrcmp(zClassname, wxT("CONTAINER"))) == 0) zClass = WC_CONTAINER; if ((zClass == WC_STATIC) || (zClass == WC_BUTTON)) dwStyle |= DT_MNEMONIC; @@ -131,9 +126,12 @@ bool wxControl::OS2CreateControl( const wxChar* zClassname, else label = m_label; + // clipping siblings does not yet work + dwStyle &= ~WS_CLIPSIBLINGS; + m_hWnd = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(pParent) // Parent window handle - ,(PSZ)zClass // Window class - ,(PSZ)label.c_str() // Initial Text + ,zClass // Window class + ,label.c_str() // Initial Text ,(ULONG)dwStyle // Style flags ,(LONG)0 // X pos of origin ,(LONG)0 // Y pos of origin @@ -148,9 +146,7 @@ bool wxControl::OS2CreateControl( const wxChar* zClassname, if ( !m_hWnd ) { -#ifdef __WXDEBUG__ wxLogError(wxT("Failed to create a control of class '%s'"), zClassname); -#endif // DEBUG return false; } @@ -181,7 +177,7 @@ wxSize wxControl::DoGetBestSize() const bool wxControl::ProcessCommand(wxCommandEvent& event) { - return GetEventHandler()->ProcessEvent(event); + return HandleWindowEvent(event); } WXHBRUSH wxControl::OnCtlColor(WXHDC hWxDC, @@ -212,7 +208,8 @@ WXHBRUSH wxControl::OnCtlColor(WXHDC hWxDC, void wxControl::OnEraseBackground( wxEraseEvent& rEvent ) { RECTL vRect; - HPS hPS = rEvent.GetDC()->GetHPS(); + wxPMDCImpl *impl = (wxPMDCImpl*) rEvent.GetDC()->GetImpl(); + HPS hPS = impl->GetHPS(); SIZEL vSize = {0,0}; ::GpiSetPS(hPS, &vSize, PU_PELS | GPIF_DEFAULT); @@ -224,7 +221,7 @@ WXDWORD wxControl::OS2GetStyle( long lStyle, WXDWORD* pdwExstyle ) const { long dwStyle = wxWindow::OS2GetStyle( lStyle, pdwExstyle ); - if (AcceptsFocus()) + if (AcceptsFocusFromKeyboard()) { dwStyle |= WS_TABSTOP; } @@ -241,7 +238,7 @@ void wxControl::SetLabel( const wxString& rsLabel ) label = ::wxPMTextToLabel(m_label); else label = m_label; - ::WinSetWindowText(GetHwnd(), (PSZ)label.c_str()); + ::WinSetWindowText(GetHwnd(), label.c_str()); } } // end of wxControl::SetLabel