From c0a4c58aca620b65e3380756642308d66c7f0d9c Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Thu, 27 Mar 2008 21:25:03 +0000 Subject: [PATCH] A bit of cleanup for STC's use of PopupWindow git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52867 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/stc/stc.h | 6 ------ src/stc/ScintillaWX.cpp | 15 +++++++-------- src/stc/scintilla/src/CallTip.cxx | 2 +- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/include/wx/stc/stc.h b/include/wx/stc/stc.h index bd3b8ecb0a..df8e1acc84 100644 --- a/include/wx/stc/stc.h +++ b/include/wx/stc/stc.h @@ -39,12 +39,6 @@ class WXDLLIMPEXP_FWD_CORE wxScrollBar; #endif #endif -//---------------------------------------------------------------------- - -// Should a wxPopupWindow be used for the call tips and autocomplete windows? -#ifndef wxSTC_USE_POPUP -#define wxSTC_USE_POPUP 1 -#endif //---------------------------------------------------------------------- // BEGIN generated section. The following code is automatically generated diff --git a/src/stc/ScintillaWX.cpp b/src/stc/ScintillaWX.cpp index 48655b2966..62524ee928 100644 --- a/src/stc/ScintillaWX.cpp +++ b/src/stc/ScintillaWX.cpp @@ -97,14 +97,12 @@ void wxSTCDropTarget::OnLeave() { #endif // wxUSE_DRAG_AND_DROP -#if wxUSE_POPUPWIN && wxSTC_USE_POPUP +#if wxUSE_POPUPWIN #include "wx/popupwin.h" #define wxSTCCallTipBase wxPopupWindow -#define param2 wxBORDER_NONE // popup's 2nd param is flags #else #include "wx/frame.h" #define wxSTCCallTipBase wxFrame -#define param2 -1 // wxWindow's 2nd param is ID #endif #include "wx/dcbuffer.h" @@ -112,7 +110,7 @@ void wxSTCDropTarget::OnLeave() { class wxSTCCallTip : public wxSTCCallTipBase { public: wxSTCCallTip(wxWindow* parent, CallTip* ct, ScintillaWX* swx) : -#if wxUSE_POPUPWIN && wxSTC_USE_POPUP +#if wxUSE_POPUPWIN wxSTCCallTipBase(parent, wxBORDER_NONE), #else wxSTCCallTipBase(parent, -1, wxEmptyString, wxDefaultPosition, wxDefaultSize, @@ -126,10 +124,11 @@ public: #endif m_ct(ct), m_swx(swx), m_cx(wxDefaultCoord), m_cy(wxDefaultCoord) { + SetBackgroundStyle(wxBG_STYLE_CUSTOM); } ~wxSTCCallTip() { -#if wxUSE_POPUPWIN && wxSTC_USE_POPUP && defined(__WXGTK__) +#if wxUSE_POPUPWIN && defined(__WXGTK__) wxRect rect = GetRect(); rect.x = m_cx; rect.y = m_cy; @@ -141,7 +140,7 @@ public: void OnPaint(wxPaintEvent& WXUNUSED(evt)) { - wxBufferedPaintDC dc(this); + wxAutoBufferedPaintDC dc(this); Surface* surfaceWindow = Surface::Allocate(); surfaceWindow->Init(&dc, m_ct->wDraw.GetID()); m_ct->PaintCT(surfaceWindow); @@ -179,7 +178,7 @@ public: wxSTCCallTipBase::DoSetSize(x, y, width, height, sizeFlags); } -#if wxUSE_POPUPWIN && wxSTC_USE_POPUP +#if wxUSE_POPUPWIN #else virtual bool Show( bool show = true ) { @@ -1129,7 +1128,7 @@ void ScintillaWX::ClipChildren(wxDC& WXUNUSED(dc), PRectangle WXUNUSED(rect)) // if (ct.inCallTipMode) { // wxSTCCallTip* tip = (wxSTCCallTip*)ct.wCallTip.GetID(); // wxRect childRect = tip->GetRect(); -// #if wxUSE_POPUPWIN && wxSTC_USE_POPUP +// #if wxUSE_POPUPWIN // childRect.SetPosition(tip->GetMyPosition()); // #endif // rgn.Subtract(childRect); diff --git a/src/stc/scintilla/src/CallTip.cxx b/src/stc/scintilla/src/CallTip.cxx index 9f5f884764..5f795d561a 100644 --- a/src/stc/scintilla/src/CallTip.cxx +++ b/src/stc/scintilla/src/CallTip.cxx @@ -229,7 +229,7 @@ void CallTip::PaintCT(Surface *surfaceWindow) { offsetMain = insetX; // initial alignment assuming no arrows PaintContents(surfaceWindow, true); -#ifndef __APPLE__ +#if !defined(__APPLE__) || defined(__WX__) // OSX doesn't put borders on "help tags" // Draw a raised border around the edges of the window surfaceWindow->MoveTo(0, rcClientSize.bottom - 1);