IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxWindowMSW)
#elif defined(__WXGTK__)
IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxWindowGTK)
+#elif defined(__WXOSX_OR_COCOA__)
+ IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxWindowMac)
#elif defined(__WXMGL__)
IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxWindowMGL)
#elif defined(__WXDFB__)
{
#if wxUSE_SCROLLBAR
m_scrollbarVert =
- m_scrollbarHorz = (wxScrollBar *)NULL;
+ m_scrollbarHorz = NULL;
#endif // wxUSE_SCROLLBAR
m_isCurrent = false;
long style,
const wxString& name)
{
+ // Get default border
+ wxBorder border = GetBorder(style);
+ style &= ~wxBORDER_MASK;
+ style |= border;
+
long actualStyle = style;
// we add wxCLIP_CHILDREN to get the same ("natural") behaviour under MSW
wxWindow::~wxWindow()
{
- m_isBeingDeleted = true;
+ SendDestroyEvent();
#if wxUSE_SCROLLBAR
// clear pointers to scrollbar before deleting the children: they are
rect.height = size.y;
wxWindow * const parent = GetParent();
- if ( HasTransparentBackground() && parent )
+ if ( HasTransparentBackground() && !UseBgCol() && parent )
{
+ // DirectFB paints the parent first, then its child windows, so by
+ // the time this code is called, parent's background was already
+ // drawn and there's no point in (imperfectly!) duplicating the work
+ // here:
+#ifndef __WXDFB__
wxASSERT( !IsTopLevel() );
wxPoint pos = GetPosition();
// Restore DC logical origin
dc.SetLogicalOrigin( org_x, org_y );
+#endif // !__WXDFB__
}
else
{
}
}
else
- if (HasFlag( wxSUNKEN_BORDER ) || HasFlag( wxRAISED_BORDER ))
+ if (HasFlag( wxSUNKEN_BORDER ) || HasFlag( wxRAISED_BORDER ) || HasFlag( wxBORDER_THEME ))
{
if (newSize.y > m_oldSize.y)
{
if ( !event.HasModifiers() && event.GetKeyCode() == WXK_RETURN )
{
wxTopLevelWindow *
- tlw = wxDynamicCast(wxTopLevelWindow *, wxGetTopLevelParent());
+ tlw = wxDynamicCast(wxGetTopLevelParent(this), wxTopLevelWindow);
if ( tlw )
{
- wxButton *btn = wxDynamicCast(wxButton *, tlw->GetDefaultItem());
+ wxButton *btn = wxDynamicCast(tlw->GetDefaultItem(), wxButton);
if ( btn )
{
wxCommandEvent evt(wxEVT_COMMAND_BUTTON_CLICKED, btn->GetId());