Make it easier to not use wxPopupWindow in wxSTC, and for now, don't
use it at all for the AutoComplete window. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
9085d634d9
commit
9c46ea6647
@ -24,6 +24,13 @@
|
||||
#include <wx/wx.h>
|
||||
#include <wx/dnd.h>
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
// 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
|
||||
// by gen_iface.py. Do not edit this file. Edit stc.h.in instead
|
||||
|
@ -673,19 +673,20 @@ BEGIN_EVENT_TABLE(wxSTCListBox, wxListBox)
|
||||
EVT_SET_FOCUS(wxSTCListBox::OnFocus)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
#undef wxSTC_USE_POPUP
|
||||
#define wxSTC_USE_POPUP 0 // Leave it off for this one...
|
||||
|
||||
|
||||
// A window to place the listbox upon. If wxPopupWindow is supported then
|
||||
// that will be used so the listbox can extend beyond the client area of the
|
||||
// wxSTC if needed.
|
||||
|
||||
#if wxUSE_POPUPWIN
|
||||
#if wxUSE_POPUPWIN && wxSTC_USE_POPUP
|
||||
#include <wx/popupwin.h>
|
||||
#define wxSTCListBoxWinBase wxPopupWindow
|
||||
#define param2 wxBORDER_NONE // popup's 2nd param is flags
|
||||
#else
|
||||
#define wxSTCListBoxWinBase wxWindow
|
||||
#define param2 -1 // wxWindows 2nd param is ID
|
||||
#define param2 -1 // wxWindow's 2nd param is ID
|
||||
#endif
|
||||
|
||||
class wxSTCListBoxWin : public wxSTCListBoxWinBase {
|
||||
@ -693,6 +694,7 @@ public:
|
||||
wxSTCListBoxWin(wxWindow* parent, wxWindowID id)
|
||||
: wxSTCListBoxWinBase(parent, param2) {
|
||||
lb = new wxSTCListBox(this, id);
|
||||
lb->SetCursor(wxCursor(wxCURSOR_ARROW));
|
||||
}
|
||||
|
||||
void OnSize(wxSizeEvent& event) {
|
||||
@ -703,9 +705,9 @@ public:
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
wxListBox* GetLB() { return lb; }
|
||||
wxListBox* GetLB() { return lb; }
|
||||
|
||||
#if wxUSE_POPUPWIN
|
||||
#if wxUSE_POPUPWIN && wxSTC_USE_POPUP
|
||||
virtual void DoSetSize(int x, int y,
|
||||
int width, int height,
|
||||
int sizeFlags = wxSIZE_AUTO) {
|
||||
@ -755,8 +757,8 @@ PRectangle ListBox::GetDesiredRect() {
|
||||
rc.left = 0;
|
||||
if (sz.x > 400)
|
||||
sz.x = 400;
|
||||
if (sz.y > 160) // TODO: Use desiredVisibleRows??
|
||||
sz.y = 160;
|
||||
if (sz.y > 140) // TODO: Use desiredVisibleRows??
|
||||
sz.y = 140;
|
||||
rc.right = sz.x;
|
||||
rc.bottom = sz.y;
|
||||
return rc;
|
||||
|
@ -63,7 +63,7 @@ void wxSTCDropTarget::OnLeave() {
|
||||
#endif
|
||||
|
||||
|
||||
#if wxUSE_POPUPWIN
|
||||
#if wxUSE_POPUPWIN && wxSTC_USE_POPUP
|
||||
#include <wx/popupwin.h>
|
||||
#define wxSTCCallTipBase wxPopupWindow
|
||||
#define param2 wxBORDER_NONE // popup's 2nd param is flags
|
||||
@ -88,7 +88,7 @@ public:
|
||||
delete surfaceWindow;
|
||||
}
|
||||
|
||||
#if wxUSE_POPUPWIN
|
||||
#if wxUSE_POPUPWIN && wxSTC_USE_POPUP
|
||||
virtual void DoSetSize(int x, int y,
|
||||
int width, int height,
|
||||
int sizeFlags = wxSIZE_AUTO) {
|
||||
@ -98,6 +98,21 @@ public:
|
||||
GetParent()->ClientToScreen(NULL, &y);
|
||||
wxSTCCallTipBase::DoSetSize(x, y, width, height, sizeFlags);
|
||||
}
|
||||
|
||||
virtual bool Show( bool show = TRUE ) {
|
||||
bool retval = wxSTCCallTipBase::Show(show);
|
||||
if (show) {
|
||||
CaptureMouse();
|
||||
}
|
||||
else {
|
||||
ReleaseMouse();
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
void OnLeftDown(wxMouseEvent& ) {
|
||||
Show(FALSE);
|
||||
}
|
||||
#endif
|
||||
|
||||
private:
|
||||
@ -107,6 +122,9 @@ private:
|
||||
|
||||
BEGIN_EVENT_TABLE(wxSTCCallTip, wxSTCCallTipBase)
|
||||
EVT_PAINT(wxSTCCallTip::OnPaint)
|
||||
#if wxUSE_POPUPWIN && wxSTC_USE_POPUP
|
||||
EVT_LEFT_DOWN(wxSTCCallTip::OnLeftDown)
|
||||
#endif
|
||||
END_EVENT_TABLE()
|
||||
|
||||
|
||||
|
@ -24,6 +24,13 @@
|
||||
#include <wx/wx.h>
|
||||
#include <wx/dnd.h>
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
// 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
|
||||
// by gen_iface.py. Do not edit this file. Edit stc.h.in instead
|
||||
|
@ -24,6 +24,13 @@
|
||||
#include <wx/wx.h>
|
||||
#include <wx/dnd.h>
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
// 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
|
||||
// by gen_iface.py. Do not edit this file. Edit stc.h.in instead
|
||||
|
@ -673,19 +673,20 @@ BEGIN_EVENT_TABLE(wxSTCListBox, wxListBox)
|
||||
EVT_SET_FOCUS(wxSTCListBox::OnFocus)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
#undef wxSTC_USE_POPUP
|
||||
#define wxSTC_USE_POPUP 0 // Leave it off for this one...
|
||||
|
||||
|
||||
// A window to place the listbox upon. If wxPopupWindow is supported then
|
||||
// that will be used so the listbox can extend beyond the client area of the
|
||||
// wxSTC if needed.
|
||||
|
||||
#if wxUSE_POPUPWIN
|
||||
#if wxUSE_POPUPWIN && wxSTC_USE_POPUP
|
||||
#include <wx/popupwin.h>
|
||||
#define wxSTCListBoxWinBase wxPopupWindow
|
||||
#define param2 wxBORDER_NONE // popup's 2nd param is flags
|
||||
#else
|
||||
#define wxSTCListBoxWinBase wxWindow
|
||||
#define param2 -1 // wxWindows 2nd param is ID
|
||||
#define param2 -1 // wxWindow's 2nd param is ID
|
||||
#endif
|
||||
|
||||
class wxSTCListBoxWin : public wxSTCListBoxWinBase {
|
||||
@ -693,6 +694,7 @@ public:
|
||||
wxSTCListBoxWin(wxWindow* parent, wxWindowID id)
|
||||
: wxSTCListBoxWinBase(parent, param2) {
|
||||
lb = new wxSTCListBox(this, id);
|
||||
lb->SetCursor(wxCursor(wxCURSOR_ARROW));
|
||||
}
|
||||
|
||||
void OnSize(wxSizeEvent& event) {
|
||||
@ -703,9 +705,9 @@ public:
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
wxListBox* GetLB() { return lb; }
|
||||
wxListBox* GetLB() { return lb; }
|
||||
|
||||
#if wxUSE_POPUPWIN
|
||||
#if wxUSE_POPUPWIN && wxSTC_USE_POPUP
|
||||
virtual void DoSetSize(int x, int y,
|
||||
int width, int height,
|
||||
int sizeFlags = wxSIZE_AUTO) {
|
||||
@ -755,8 +757,8 @@ PRectangle ListBox::GetDesiredRect() {
|
||||
rc.left = 0;
|
||||
if (sz.x > 400)
|
||||
sz.x = 400;
|
||||
if (sz.y > 160) // TODO: Use desiredVisibleRows??
|
||||
sz.y = 160;
|
||||
if (sz.y > 140) // TODO: Use desiredVisibleRows??
|
||||
sz.y = 140;
|
||||
rc.right = sz.x;
|
||||
rc.bottom = sz.y;
|
||||
return rc;
|
||||
|
@ -63,7 +63,7 @@ void wxSTCDropTarget::OnLeave() {
|
||||
#endif
|
||||
|
||||
|
||||
#if wxUSE_POPUPWIN
|
||||
#if wxUSE_POPUPWIN && wxSTC_USE_POPUP
|
||||
#include <wx/popupwin.h>
|
||||
#define wxSTCCallTipBase wxPopupWindow
|
||||
#define param2 wxBORDER_NONE // popup's 2nd param is flags
|
||||
@ -88,7 +88,7 @@ public:
|
||||
delete surfaceWindow;
|
||||
}
|
||||
|
||||
#if wxUSE_POPUPWIN
|
||||
#if wxUSE_POPUPWIN && wxSTC_USE_POPUP
|
||||
virtual void DoSetSize(int x, int y,
|
||||
int width, int height,
|
||||
int sizeFlags = wxSIZE_AUTO) {
|
||||
@ -98,6 +98,21 @@ public:
|
||||
GetParent()->ClientToScreen(NULL, &y);
|
||||
wxSTCCallTipBase::DoSetSize(x, y, width, height, sizeFlags);
|
||||
}
|
||||
|
||||
virtual bool Show( bool show = TRUE ) {
|
||||
bool retval = wxSTCCallTipBase::Show(show);
|
||||
if (show) {
|
||||
CaptureMouse();
|
||||
}
|
||||
else {
|
||||
ReleaseMouse();
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
void OnLeftDown(wxMouseEvent& ) {
|
||||
Show(FALSE);
|
||||
}
|
||||
#endif
|
||||
|
||||
private:
|
||||
@ -107,6 +122,9 @@ private:
|
||||
|
||||
BEGIN_EVENT_TABLE(wxSTCCallTip, wxSTCCallTipBase)
|
||||
EVT_PAINT(wxSTCCallTip::OnPaint)
|
||||
#if wxUSE_POPUPWIN && wxSTC_USE_POPUP
|
||||
EVT_LEFT_DOWN(wxSTCCallTip::OnLeftDown)
|
||||
#endif
|
||||
END_EVENT_TABLE()
|
||||
|
||||
|
||||
|
@ -24,6 +24,13 @@
|
||||
#include <wx/wx.h>
|
||||
#include <wx/dnd.h>
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
// 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
|
||||
// by gen_iface.py. Do not edit this file. Edit stc.h.in instead
|
||||
|
@ -11032,6 +11032,7 @@ SWIGEXPORT(void) initstc_c() {
|
||||
SWIG_globals = SWIG_newvarlink();
|
||||
m = Py_InitModule("stc_c", stc_cMethods);
|
||||
d = PyModule_GetDict(m);
|
||||
PyDict_SetItemString(d,"wxSTC_USE_POPUP", PyInt_FromLong((long) 1));
|
||||
PyDict_SetItemString(d,"wxSTC_INVALID_POSITION", PyInt_FromLong((long) -1));
|
||||
PyDict_SetItemString(d,"wxSTC_START", PyInt_FromLong((long) 2000));
|
||||
PyDict_SetItemString(d,"wxSTC_OPTIONAL_START", PyInt_FromLong((long) 3000));
|
||||
|
@ -1158,6 +1158,7 @@ class wxStyledTextEvent(wxStyledTextEventPtr):
|
||||
|
||||
#-------------- VARIABLE WRAPPERS ------------------
|
||||
|
||||
wxSTC_USE_POPUP = stc_c.wxSTC_USE_POPUP
|
||||
wxSTC_INVALID_POSITION = stc_c.wxSTC_INVALID_POSITION
|
||||
wxSTC_START = stc_c.wxSTC_START
|
||||
wxSTC_OPTIONAL_START = stc_c.wxSTC_OPTIONAL_START
|
||||
|
Loading…
Reference in New Issue
Block a user