X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/15678bec37c6e3cb8a67a8b041579af595d4ccf3..9e0a12c958fb6e26fedc61f66166b480cee13a5d:/src/univ/topluniv.cpp diff --git a/src/univ/topluniv.cpp b/src/univ/topluniv.cpp index f17795f547..c68373a528 100644 --- a/src/univ/topluniv.cpp +++ b/src/univ/topluniv.cpp @@ -76,8 +76,10 @@ bool wxTopLevelWindow::Create(wxWindow *parent, exstyleOrig = 0; if ( ms_drawDecorations == -1 ) - ms_drawDecorations = !wxSystemSettings::HasFrameDecorations(); + ms_drawDecorations = !wxSystemSettings::HasFrameDecorations() || + wxGetEnv(wxT("WXDECOR"), NULL); // FIXME -- wxUniv should provide a way to force non-native decorations! + // $WXDECOR is just a hack in absence of better wxUniv solution if ( ms_drawDecorations ) { @@ -97,15 +99,6 @@ bool wxTopLevelWindow::Create(wxWindow *parent, size, style, name) ) return FALSE; - // FIXME: to be removed as soon as wxTLW/wxFrame/wxDialog creation code in - // wxMSW is rationalized -#ifdef __WXMSW__ - extern const wxChar *wxFrameClassName; - if ( !MSWCreate(id, NULL, wxFrameClassName, this, title, - pos.x, pos.y, size.x, size.y, style) ) - return FALSE; -#endif // __WXMSW__ - if ( ms_drawDecorations ) { m_windowStyle = styleOrig; @@ -372,13 +365,13 @@ bool wxTopLevelWindow::PerformAction(const wxControlAction& action, ClickTitleBarButton(numArg); return TRUE; } - + else if ( action == wxACTION_TOPLEVEL_MOVE ) { InteractiveMove(wxINTERACTIVE_MOVE); return TRUE; } - + else if ( action == wxACTION_TOPLEVEL_RESIZE ) { int flags = wxINTERACTIVE_RESIZE; @@ -393,7 +386,7 @@ bool wxTopLevelWindow::PerformAction(const wxControlAction& action, InteractiveMove(flags); return TRUE; } - + else return FALSE; } @@ -493,25 +486,25 @@ bool wxStdFrameInputHandler::HandleMouseMove(wxInputConsumer *consumer, } else if ( consumer->GetInputWindow()->GetWindowStyle() & wxRESIZE_BORDER ) { - wxTopLevelWindow *win = wxStaticCast(consumer->GetInputWindow(), + wxTopLevelWindow *win = wxStaticCast(consumer->GetInputWindow(), wxTopLevelWindow); long hit = win->HitTest(event.GetPosition()); - + if ( hit != m_winHitTest ) { m_winHitTest = hit; - + if ( m_borderCursorOn ) { m_borderCursorOn = FALSE; win->SetCursor(m_origCursor); } - + if ( hit & wxHT_TOPLEVEL_ANY_BORDER ) { m_borderCursorOn = TRUE; wxCursor cur; - + switch (hit) { case wxHT_TOPLEVEL_BORDER_N: