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__
#endif
EVT_MOTION (wxStyledTextCtrl::OnMouseMove)
EVT_LEFT_UP (wxStyledTextCtrl::OnMouseLeftUp)
+#ifdef __WXGTK__
+ EVT_RIGHT_UP (wxStyledTextCtrl::OnMouseRightUp)
+#else
EVT_CONTEXT_MENU (wxStyledTextCtrl::OnContextMenu)
+#endif
EVT_MOUSEWHEEL (wxStyledTextCtrl::OnMouseWheel)
EVT_CHAR (wxStyledTextCtrl::OnChar)
EVT_KEY_DOWN (wxStyledTextCtrl::OnKeyDown)
m_swx = new ScintillaWX(this);
m_stopWatch.Start();
m_lastKeyDownConsumed = FALSE;
+ m_vScrollBar = NULL;
+ m_hScrollBar = NULL;
}
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);
}
+void wxStyledTextCtrl::OnMouseRightUp(wxMouseEvent& evt) {
+ wxPoint pt = evt.GetPosition();
+ m_swx->DoContextMenu(Point(pt.x, pt.y));
+}
+
+
void wxStyledTextCtrl::OnContextMenu(wxContextMenuEvent& evt) {
wxPoint pt = evt.GetPosition();
ScreenToClient(&pt.x, &pt.y);
bool alt = evt.AltDown();
bool skip = ((ctrl || alt) && ! (ctrl && alt));
- if (key <= 0xff && !iscntrl(key) && !m_lastKeyDownConsumed && !skip) {
+ if (key <= 0xff && key >= 32 && !m_lastKeyDownConsumed && !skip) {
m_swx->DoAddChar(key);
return;
}
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
}
+
+
+
+
+