From 39c0acb66674c5e0424633cf162e6c10c92178d4 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Fri, 31 Oct 2003 01:12:25 +0000 Subject: [PATCH] Patch #826420, and also adapted to new SWIG git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- contrib/include/wx/stc/stc.h | 28 +++++++++++++--------------- contrib/src/stc/stc.cpp | 27 +++++++++++++++++++++------ contrib/src/stc/stc.cpp.in | 27 +++++++++++++++++++++------ contrib/src/stc/stc.h.in | 28 +++++++++++++--------------- include/wx/stc/stc.h | 28 +++++++++++++--------------- src/stc/stc.cpp | 27 +++++++++++++++++++++------ src/stc/stc.cpp.in | 27 +++++++++++++++++++++------ src/stc/stc.h.in | 28 +++++++++++++--------------- 8 files changed, 136 insertions(+), 84 deletions(-) diff --git a/contrib/include/wx/stc/stc.h b/contrib/include/wx/stc/stc.h index b02b934cce..c6788b84bf 100644 --- a/contrib/include/wx/stc/stc.h +++ b/contrib/include/wx/stc/stc.h @@ -24,7 +24,7 @@ #include #include -#ifndef SWIG + #ifdef WXMAKINGDLL_STC #define WXDLLIMPEXP_STC WXEXPORT #elif defined(WXUSINGDLL) @@ -32,7 +32,6 @@ #else // not making nor using DLL #define WXDLLIMPEXP_STC #endif -#endif // SWIG // SWIG can't handle "#if" type of conditionals, only "#ifdef" @@ -1141,31 +1140,34 @@ class WXDLLIMPEXP_STC wxStyledTextEvent; //---------------------------------------------------------------------- -#ifndef SWIG class WXDLLIMPEXP_STC wxStyledTextCtrl : public wxControl { -#else -class wxStyledTextCtrl : public wxControl { -#endif public: #ifdef SWIG + %addtofunc wxStyledTextCtrl "self._setOORInfo(self)" + %addtofunc wxStyledTextCtrl() "" + wxStyledTextCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxPySTCNameStr); - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - + %name(PreStyledTextCtrl) wxStyledTextCtrl(); + #else wxStyledTextCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxSTCNameStr); + wxStyledTextCtrl() { m_swx = NULL; } + ~wxStyledTextCtrl(); + #endif + void Create(wxWindow *parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, + const wxString& name = wxSTCNameStr); -#ifndef SWIG - ~wxStyledTextCtrl(); -#endif //---------------------------------------------------------------------- // BEGIN generated section. The following code is automatically generated @@ -2344,11 +2346,7 @@ protected: //---------------------------------------------------------------------- -#ifndef SWIG class WXDLLIMPEXP_STC wxStyledTextEvent : public wxCommandEvent { -#else -class wxStyledTextEvent : public wxCommandEvent { -#endif public: wxStyledTextEvent(wxEventType commandType=0, int id=0); #ifndef SWIG diff --git a/contrib/src/stc/stc.cpp b/contrib/src/stc/stc.cpp index c6438a351e..ab42de2dfe 100644 --- a/contrib/src/stc/stc.cpp +++ b/contrib/src/stc/stc.cpp @@ -136,11 +136,24 @@ wxStyledTextCtrl::wxStyledTextCtrl(wxWindow *parent, const wxPoint& pos, const wxSize& size, long style, - const wxString& name) : - wxControl(parent, id, pos, size, - style | wxVSCROLL | wxHSCROLL | wxWANTS_CHARS | wxCLIP_CHILDREN, - wxDefaultValidator, name) + const wxString& name) +{ + m_swx = NULL; + Create(parent, id, pos, size, style, name); +} + + +void wxStyledTextCtrl::Create(wxWindow *parent, + wxWindowID id, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name) { + wxControl::Create(parent, id, pos, size, + style | wxVSCROLL | wxHSCROLL | wxWANTS_CHARS | wxCLIP_CHILDREN, + wxDefaultValidator, name); + #ifdef LINK_LEXERS Scintilla_LinkLexers(); #endif @@ -2201,8 +2214,10 @@ void wxStyledTextCtrl::OnScroll(wxScrollEvent& evt) { } void wxStyledTextCtrl::OnSize(wxSizeEvent& WXUNUSED(evt)) { - wxSize sz = GetClientSize(); - m_swx->DoSize(sz.x, sz.y); + if (m_swx) { + wxSize sz = GetClientSize(); + m_swx->DoSize(sz.x, sz.y); + } } void wxStyledTextCtrl::OnMouseLeftDown(wxMouseEvent& evt) { diff --git a/contrib/src/stc/stc.cpp.in b/contrib/src/stc/stc.cpp.in index 2b531a6f54..4cc177306f 100644 --- a/contrib/src/stc/stc.cpp.in +++ b/contrib/src/stc/stc.cpp.in @@ -136,11 +136,24 @@ wxStyledTextCtrl::wxStyledTextCtrl(wxWindow *parent, const wxPoint& pos, const wxSize& size, long style, - const wxString& name) : - wxControl(parent, id, pos, size, - style | wxVSCROLL | wxHSCROLL | wxWANTS_CHARS | wxCLIP_CHILDREN, - wxDefaultValidator, name) + const wxString& name) +{ + m_swx = NULL; + Create(parent, id, pos, size, style, name); +} + + +void wxStyledTextCtrl::Create(wxWindow *parent, + wxWindowID id, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name) { + wxControl::Create(parent, id, pos, size, + style | wxVSCROLL | wxHSCROLL | wxWANTS_CHARS | wxCLIP_CHILDREN, + wxDefaultValidator, name); + #ifdef LINK_LEXERS Scintilla_LinkLexers(); #endif @@ -406,8 +419,10 @@ void wxStyledTextCtrl::OnScroll(wxScrollEvent& evt) { } void wxStyledTextCtrl::OnSize(wxSizeEvent& WXUNUSED(evt)) { - wxSize sz = GetClientSize(); - m_swx->DoSize(sz.x, sz.y); + if (m_swx) { + wxSize sz = GetClientSize(); + m_swx->DoSize(sz.x, sz.y); + } } void wxStyledTextCtrl::OnMouseLeftDown(wxMouseEvent& evt) { diff --git a/contrib/src/stc/stc.h.in b/contrib/src/stc/stc.h.in index 9ea0102760..514357984a 100644 --- a/contrib/src/stc/stc.h.in +++ b/contrib/src/stc/stc.h.in @@ -24,7 +24,7 @@ #include #include -#ifndef SWIG + #ifdef WXMAKINGDLL_STC #define WXDLLIMPEXP_STC WXEXPORT #elif defined(WXUSINGDLL) @@ -32,7 +32,6 @@ #else // not making nor using DLL #define WXDLLIMPEXP_STC #endif -#endif // SWIG // SWIG can't handle "#if" type of conditionals, only "#ifdef" @@ -80,31 +79,34 @@ class WXDLLIMPEXP_STC wxStyledTextEvent; //---------------------------------------------------------------------- -#ifndef SWIG class WXDLLIMPEXP_STC wxStyledTextCtrl : public wxControl { -#else -class wxStyledTextCtrl : public wxControl { -#endif public: #ifdef SWIG + %%addtofunc wxStyledTextCtrl "self._setOORInfo(self)" + %%addtofunc wxStyledTextCtrl() "" + wxStyledTextCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxPySTCNameStr); - %%pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - + %%name(PreStyledTextCtrl) wxStyledTextCtrl(); + #else wxStyledTextCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxSTCNameStr); + wxStyledTextCtrl() { m_swx = NULL; } + ~wxStyledTextCtrl(); + #endif + void Create(wxWindow *parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, + const wxString& name = wxSTCNameStr); -#ifndef SWIG - ~wxStyledTextCtrl(); -#endif //---------------------------------------------------------------------- // BEGIN generated section. The following code is automatically generated @@ -260,11 +262,7 @@ protected: //---------------------------------------------------------------------- -#ifndef SWIG class WXDLLIMPEXP_STC wxStyledTextEvent : public wxCommandEvent { -#else -class wxStyledTextEvent : public wxCommandEvent { -#endif public: wxStyledTextEvent(wxEventType commandType=0, int id=0); #ifndef SWIG diff --git a/include/wx/stc/stc.h b/include/wx/stc/stc.h index b02b934cce..c6788b84bf 100644 --- a/include/wx/stc/stc.h +++ b/include/wx/stc/stc.h @@ -24,7 +24,7 @@ #include #include -#ifndef SWIG + #ifdef WXMAKINGDLL_STC #define WXDLLIMPEXP_STC WXEXPORT #elif defined(WXUSINGDLL) @@ -32,7 +32,6 @@ #else // not making nor using DLL #define WXDLLIMPEXP_STC #endif -#endif // SWIG // SWIG can't handle "#if" type of conditionals, only "#ifdef" @@ -1141,31 +1140,34 @@ class WXDLLIMPEXP_STC wxStyledTextEvent; //---------------------------------------------------------------------- -#ifndef SWIG class WXDLLIMPEXP_STC wxStyledTextCtrl : public wxControl { -#else -class wxStyledTextCtrl : public wxControl { -#endif public: #ifdef SWIG + %addtofunc wxStyledTextCtrl "self._setOORInfo(self)" + %addtofunc wxStyledTextCtrl() "" + wxStyledTextCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxPySTCNameStr); - %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - + %name(PreStyledTextCtrl) wxStyledTextCtrl(); + #else wxStyledTextCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxSTCNameStr); + wxStyledTextCtrl() { m_swx = NULL; } + ~wxStyledTextCtrl(); + #endif + void Create(wxWindow *parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, + const wxString& name = wxSTCNameStr); -#ifndef SWIG - ~wxStyledTextCtrl(); -#endif //---------------------------------------------------------------------- // BEGIN generated section. The following code is automatically generated @@ -2344,11 +2346,7 @@ protected: //---------------------------------------------------------------------- -#ifndef SWIG class WXDLLIMPEXP_STC wxStyledTextEvent : public wxCommandEvent { -#else -class wxStyledTextEvent : public wxCommandEvent { -#endif public: wxStyledTextEvent(wxEventType commandType=0, int id=0); #ifndef SWIG diff --git a/src/stc/stc.cpp b/src/stc/stc.cpp index c6438a351e..ab42de2dfe 100644 --- a/src/stc/stc.cpp +++ b/src/stc/stc.cpp @@ -136,11 +136,24 @@ wxStyledTextCtrl::wxStyledTextCtrl(wxWindow *parent, const wxPoint& pos, const wxSize& size, long style, - const wxString& name) : - wxControl(parent, id, pos, size, - style | wxVSCROLL | wxHSCROLL | wxWANTS_CHARS | wxCLIP_CHILDREN, - wxDefaultValidator, name) + const wxString& name) +{ + m_swx = NULL; + Create(parent, id, pos, size, style, name); +} + + +void wxStyledTextCtrl::Create(wxWindow *parent, + wxWindowID id, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name) { + wxControl::Create(parent, id, pos, size, + style | wxVSCROLL | wxHSCROLL | wxWANTS_CHARS | wxCLIP_CHILDREN, + wxDefaultValidator, name); + #ifdef LINK_LEXERS Scintilla_LinkLexers(); #endif @@ -2201,8 +2214,10 @@ void wxStyledTextCtrl::OnScroll(wxScrollEvent& evt) { } void wxStyledTextCtrl::OnSize(wxSizeEvent& WXUNUSED(evt)) { - wxSize sz = GetClientSize(); - m_swx->DoSize(sz.x, sz.y); + if (m_swx) { + wxSize sz = GetClientSize(); + m_swx->DoSize(sz.x, sz.y); + } } void wxStyledTextCtrl::OnMouseLeftDown(wxMouseEvent& evt) { diff --git a/src/stc/stc.cpp.in b/src/stc/stc.cpp.in index 2b531a6f54..4cc177306f 100644 --- a/src/stc/stc.cpp.in +++ b/src/stc/stc.cpp.in @@ -136,11 +136,24 @@ wxStyledTextCtrl::wxStyledTextCtrl(wxWindow *parent, const wxPoint& pos, const wxSize& size, long style, - const wxString& name) : - wxControl(parent, id, pos, size, - style | wxVSCROLL | wxHSCROLL | wxWANTS_CHARS | wxCLIP_CHILDREN, - wxDefaultValidator, name) + const wxString& name) +{ + m_swx = NULL; + Create(parent, id, pos, size, style, name); +} + + +void wxStyledTextCtrl::Create(wxWindow *parent, + wxWindowID id, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name) { + wxControl::Create(parent, id, pos, size, + style | wxVSCROLL | wxHSCROLL | wxWANTS_CHARS | wxCLIP_CHILDREN, + wxDefaultValidator, name); + #ifdef LINK_LEXERS Scintilla_LinkLexers(); #endif @@ -406,8 +419,10 @@ void wxStyledTextCtrl::OnScroll(wxScrollEvent& evt) { } void wxStyledTextCtrl::OnSize(wxSizeEvent& WXUNUSED(evt)) { - wxSize sz = GetClientSize(); - m_swx->DoSize(sz.x, sz.y); + if (m_swx) { + wxSize sz = GetClientSize(); + m_swx->DoSize(sz.x, sz.y); + } } void wxStyledTextCtrl::OnMouseLeftDown(wxMouseEvent& evt) { diff --git a/src/stc/stc.h.in b/src/stc/stc.h.in index 9ea0102760..514357984a 100644 --- a/src/stc/stc.h.in +++ b/src/stc/stc.h.in @@ -24,7 +24,7 @@ #include #include -#ifndef SWIG + #ifdef WXMAKINGDLL_STC #define WXDLLIMPEXP_STC WXEXPORT #elif defined(WXUSINGDLL) @@ -32,7 +32,6 @@ #else // not making nor using DLL #define WXDLLIMPEXP_STC #endif -#endif // SWIG // SWIG can't handle "#if" type of conditionals, only "#ifdef" @@ -80,31 +79,34 @@ class WXDLLIMPEXP_STC wxStyledTextEvent; //---------------------------------------------------------------------- -#ifndef SWIG class WXDLLIMPEXP_STC wxStyledTextCtrl : public wxControl { -#else -class wxStyledTextCtrl : public wxControl { -#endif public: #ifdef SWIG + %%addtofunc wxStyledTextCtrl "self._setOORInfo(self)" + %%addtofunc wxStyledTextCtrl() "" + wxStyledTextCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxPySTCNameStr); - %%pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - + %%name(PreStyledTextCtrl) wxStyledTextCtrl(); + #else wxStyledTextCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxSTCNameStr); + wxStyledTextCtrl() { m_swx = NULL; } + ~wxStyledTextCtrl(); + #endif + void Create(wxWindow *parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, + const wxString& name = wxSTCNameStr); -#ifndef SWIG - ~wxStyledTextCtrl(); -#endif //---------------------------------------------------------------------- // BEGIN generated section. The following code is automatically generated @@ -260,11 +262,7 @@ protected: //---------------------------------------------------------------------- -#ifndef SWIG class WXDLLIMPEXP_STC wxStyledTextEvent : public wxCommandEvent { -#else -class wxStyledTextEvent : public wxCommandEvent { -#endif public: wxStyledTextEvent(wxEventType commandType=0, int id=0); #ifndef SWIG -- 2.45.2