m_inShow++;
- wxASSERT( IsKindOf(CLASSINFO(wxPopupTransientWindow)) );
-
- wxPopupTransientWindow* ptw = (wxPopupTransientWindow*) this;
+ wxPopupTransientWindow* const
+ ptw = static_cast<wxPopupTransientWindow*>(this);
if ( show != ptw->IsShown() )
{
void wxComboPopupWindow::OnDismiss()
{
wxComboCtrlBase* combo = (wxComboCtrlBase*) GetParent();
- wxASSERT_MSG( combo->IsKindOf(CLASSINFO(wxComboCtrlBase)),
+ wxASSERT_MSG( wxDynamicCast(combo, wxComboCtrlBase),
wxT("parent might not be wxComboCtrl, but check IMPLEMENT_DYNAMIC_CLASS(2) macro for correctness") );
combo->OnPopupDismiss(true);
if ( m_combo->GetTextCtrl() )
m_combo->GetTextCtrl()->SelectAll();
else
- m_combo->SetSelection(-1,-1);
+ m_combo->SelectAll();
}
// Send focus indication to parent.
m_iFlags |= wxCC_IFLAG_CREATED;
// If x and y indicate valid size, wxSizeEvent won't be
- // emitted automatically, so we need to add artifical one.
+ // emitted automatically, so we need to add artificial one.
if ( size.x > 0 && size.y > 0 )
{
wxSizeEvent evt(size,GetId());
+ evt.SetEventObject(this);
GetEventHandler()->AddPendingEvent(evt);
}
// its platform default or bitmap+pushbutton background is used, but not if
// there is vertical size adjustment or horizontal spacing.
if ( ( (m_iFlags & wxCC_BUTTON_OUTSIDE_BORDER) ||
- (m_bmpNormal.Ok() && m_blankButtonBg) ) &&
+ (m_bmpNormal.IsOk() && m_blankButtonBg) ) &&
m_btnSpacingX == 0 &&
m_btnHei <= 0 )
{
btnBorder = 0;
}
else if ( (m_iFlags & wxCC_BUTTON_COVERS_BORDER) &&
- m_btnSpacingX == 0 && !m_bmpNormal.Ok() )
+ m_btnSpacingX == 0 && !m_bmpNormal.IsOk() )
{
m_iFlags &= ~(wxCC_IFLAG_BUTTON_OUTSIDE);
btnBorder = 0;
// It is larger
// OR
// button width is set to default and blank button bg is not drawn
- if ( m_bmpNormal.Ok() )
+ if ( m_bmpNormal.IsOk() )
{
int bmpReqWidth = m_bmpNormal.GetWidth();
int bmpReqHeight = m_bmpNormal.GetHeight();
{
int newY = butHeight+(customBorder*2);
SetClientSize(wxDefaultCoord,newY);
- if ( m_bmpNormal.Ok() || m_btnArea.width != butWidth || m_btnArea.height != butHeight )
+ if ( m_bmpNormal.IsOk() || m_btnArea.width != butWidth || m_btnArea.height != butHeight )
m_iFlags |= wxCC_IFLAG_HAS_NONSTANDARD_BUTTON;
else
m_iFlags &= ~wxCC_IFLAG_HAS_NONSTANDARD_BUTTON;
// TODO: Better method to calculate close-to-native control height.
int fhei;
- if ( m_font.Ok() )
+ if ( m_font.IsOk() )
fhei = (m_font.GetPointSize()*2) + 5;
- else if ( wxNORMAL_FONT->Ok() )
+ else if ( wxNORMAL_FONT->IsOk() )
fhei = (wxNORMAL_FONT->GetPointSize()*2) + 5;
else
fhei = sizeText.y + 4;
- // Need to force height to accomodate bitmap?
+ // Need to force height to accommodate bitmap?
int btnSizeY = m_btnSize.y;
- if ( m_bmpNormal.Ok() && fhei < btnSizeY )
+ if ( m_bmpNormal.IsOk() && fhei < btnSizeY )
fhei = btnSizeY;
// Control height doesn't depend on border
dc.DrawRectangle(rect);
}
- if ( !m_bmpNormal.Ok() )
+ if ( !m_bmpNormal.IsOk() )
{
if ( flags & Button_BitmapOnly )
return;
if ( IsCreated() )
{
wxSizeEvent evt(GetSize(),GetId());
+ evt.SetEventObject(this);
GetEventHandler()->ProcessEvent(evt);
Refresh();
}
void wxComboCtrlBase::OnFocusEvent( wxFocusEvent& event )
{
+// On Mac, this leads to infinite recursion and eventually a crash
+#ifndef __WXMAC__
if ( event.GetEventType() == wxEVT_SET_FOCUS )
{
wxWindow* tc = GetTextCtrl();
}
Refresh();
+#endif
}
void wxComboCtrlBase::OnIdleEvent( wxIdleEvent& WXUNUSED(event) )
m_bmpNormal = bmpNormal;
m_blankButtonBg = blankButtonBg;
- if ( bmpPressed.Ok() )
+ if ( bmpPressed.IsOk() )
m_bmpPressed = bmpPressed;
else
m_bmpPressed = bmpNormal;
- if ( bmpHover.Ok() )
+ if ( bmpHover.IsOk() )
m_bmpHover = bmpHover;
else
m_bmpHover = bmpNormal;
- if ( bmpDisabled.Ok() )
+ if ( bmpDisabled.IsOk() )
m_bmpDisabled = bmpDisabled;
else
m_bmpDisabled = bmpNormal;