X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/00c64037fb763781c64036f6e165fc0555a07d4e..bbd08c6a9549538e211eb6d78152482ca6d4a810:/src/stc/stc.cpp diff --git a/src/stc/stc.cpp b/src/stc/stc.cpp index f56024c0ca..4435d6db06 100644 --- a/src/stc/stc.cpp +++ b/src/stc/stc.cpp @@ -103,6 +103,7 @@ DEFINE_EVENT_TYPE( wxEVT_STC_DO_DROP ) BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl) EVT_PAINT (wxStyledTextCtrl::OnPaint) EVT_SCROLLWIN (wxStyledTextCtrl::OnScrollWin) + EVT_SCROLL (wxStyledTextCtrl::OnScroll) EVT_SIZE (wxStyledTextCtrl::OnSize) EVT_LEFT_DOWN (wxStyledTextCtrl::OnMouseLeftDown) #ifdef __WXMSW__ @@ -143,6 +144,8 @@ wxStyledTextCtrl::wxStyledTextCtrl(wxWindow *parent, m_swx = new ScintillaWX(this); m_stopWatch.Start(); m_lastKeyDownConsumed = FALSE; + m_vScrollBar = NULL; + m_hScrollBar = NULL; } @@ -1801,6 +1804,16 @@ void wxStyledTextCtrl::OnScrollWin(wxScrollWinEvent& evt) { m_swx->DoVScroll(evt.GetEventType(), evt.GetPosition()); } +void wxStyledTextCtrl::OnScroll(wxScrollEvent& evt) { + wxScrollBar* sb = wxDynamicCast(evt.GetEventObject(), wxScrollBar); + if (sb) { + if (sb->IsVertical()) + m_swx->DoVScroll(evt.GetEventType(), evt.GetPosition()); + else + m_swx->DoHScroll(evt.GetEventType(), evt.GetPosition()); + } +} + void wxStyledTextCtrl::OnSize(wxSizeEvent& evt) { wxSize sz = GetClientSize(); m_swx->DoSize(sz.x, sz.y); @@ -2064,35 +2077,35 @@ bool wxStyledTextEvent::GetShift() const { return (m_modifiers & SCI_SHIFT) != 0 bool wxStyledTextEvent::GetControl() const { return (m_modifiers & SCI_CTRL) != 0; } bool wxStyledTextEvent::GetAlt() const { return (m_modifiers & SCI_ALT) != 0; } -void wxStyledTextEvent::CopyObject(wxObject& obj) const { - wxCommandEvent::CopyObject(obj); - - wxStyledTextEvent* o = (wxStyledTextEvent*)&obj; - o->m_position = m_position; - o->m_key = m_key; - o->m_modifiers = m_modifiers; - o->m_modificationType = m_modificationType; - o->m_text = m_text; - o->m_length = m_length; - o->m_linesAdded = m_linesAdded; - o->m_line = m_line; - o->m_foldLevelNow = m_foldLevelNow; - o->m_foldLevelPrev = m_foldLevelPrev; - - o->m_margin = m_margin; - - o->m_message = m_message; - o->m_wParam = m_wParam; - o->m_lParam = m_lParam; - o->m_listType = m_listType; - o->m_x = m_x; - o->m_y = m_y; +wxStyledTextEvent::wxStyledTextEvent(const wxStyledTextEvent& event): + wxCommandEvent(event) +{ + m_position = event.m_position; + m_key = event.m_key; + m_modifiers = event.m_modifiers; + m_modificationType = event.m_modificationType; + m_text = event.m_text; + m_length = event.m_length; + m_linesAdded = event.m_linesAdded; + m_line = event.m_line; + m_foldLevelNow = event.m_foldLevelNow; + m_foldLevelPrev = event.m_foldLevelPrev; + + m_margin = event.m_margin; + + m_message = event.m_message; + m_wParam = event.m_wParam; + m_lParam = event.m_lParam; + + m_listType = event.m_listType; + m_x = event.m_x; + m_y = event.m_y; #if wxUSE_DRAG_AND_DROP - o->m_dragText = m_dragText; - o->m_dragAllowMove =m_dragAllowMove; - o->m_dragResult = m_dragResult; + m_dragText = event.m_dragText; + m_dragAllowMove =event.m_dragAllowMove; + m_dragResult = event.m_dragResult; #endif } @@ -2102,3 +2115,8 @@ void wxStyledTextEvent::CopyObject(wxObject& obj) const { + + + + +