void OnMouseMove(wxMouseEvent& evt);
void OnMouseLeftUp(wxMouseEvent& evt);
void OnMouseRightUp(wxMouseEvent& evt);
+ void OnMouseWheel(wxMouseEvent& evt);
void OnChar(wxKeyEvent& evt);
void OnKeyDown(wxKeyEvent& evt);
void OnLoseFocus(wxFocusEvent& evt);
wMain = win;
wDraw = win;
stc = win;
+ wheelRotation = 0;
Initialise();
}
ScrollTo(topLineNew);
}
+
+void ScintillaWX::DoMouseWheel(int rotation, int delta, int linesPerAction) {
+ int topLineNew = topLine;
+ int lines;
+
+ wheelRotation += rotation;
+ lines = wheelRotation / delta;
+ wheelRotation -= lines * delta;
+ if (lines != 0) {
+ lines *= linesPerAction;
+ topLineNew -= lines;
+ ScrollTo(topLineNew);
+ }
+}
+
+
void ScintillaWX::DoSize(int width, int height) {
PRectangle rcClient(0,0,width,height);
SetScrollBarsTo(rcClient);
void DoButtonDown(Point pt, unsigned int curTime, bool shift, bool ctrl, bool alt);
void DoButtonUp(Point pt, unsigned int curTime, bool ctrl);
void DoButtonMove(Point pt);
+ void DoMouseWheel(int rotation, int delta, int linesPerAction);
void DoAddChar(char ch);
int DoKeyDown(int key, bool shift, bool ctrl, bool alt);
void DoTick() { Tick(); }
wxSTCDropTarget* dropTarget;
wxDragResult dragResult;
+ int wheelRotation;
};
//----------------------------------------------------------------------
IFACE = './scintilla/include/Scintilla.iface'
H_TEMPLATE = './stc.h.in'
CPP_TEMPLATE = './stc.cpp.in'
-H_DEST = '../../include/wx/stc/stc.h' # './stc_test.h' #
-CPP_DEST = './stc.cpp' #'./stc_test.cpp'
+H_DEST = '../../include/wx/stc/stc.h'
+CPP_DEST = './stc.cpp'
# Value prefixes to convert
valPrefixes = [('SCI_', ''),
('SC_', ''),
- ('SCN_', None), # just toss these...
+ ('SCN_', None), # just toss these out...
('SCEN_', None),
('SCE_', ''),
('SCLEX_', 'LEX_'),
EVT_MOTION (wxStyledTextCtrl::OnMouseMove)
EVT_LEFT_UP (wxStyledTextCtrl::OnMouseLeftUp)
EVT_RIGHT_UP (wxStyledTextCtrl::OnMouseRightUp)
+ EVT_MOUSEWHEEL (wxStyledTextCtrl::OnMouseWheel)
EVT_CHAR (wxStyledTextCtrl::OnChar)
EVT_KEY_DOWN (wxStyledTextCtrl::OnKeyDown)
EVT_KILL_FOCUS (wxStyledTextCtrl::OnLoseFocus)
m_swx->DoContextMenu(Point(pt.x, pt.y));
}
+
+void wxStyledTextCtrl::OnMouseWheel(wxMouseEvent& evt) {
+ m_swx->DoMouseWheel(evt.GetWheelRotation(),
+ evt.GetWheelDelta(),
+ evt.GetLinesPerAction());
+}
+
+
void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
long key = evt.KeyCode();
if ((key > WXK_ESCAPE) &&
EVT_MOTION (wxStyledTextCtrl::OnMouseMove)
EVT_LEFT_UP (wxStyledTextCtrl::OnMouseLeftUp)
EVT_RIGHT_UP (wxStyledTextCtrl::OnMouseRightUp)
+ EVT_MOUSEWHEEL (wxStyledTextCtrl::OnMouseWheel)
EVT_CHAR (wxStyledTextCtrl::OnChar)
EVT_KEY_DOWN (wxStyledTextCtrl::OnKeyDown)
EVT_KILL_FOCUS (wxStyledTextCtrl::OnLoseFocus)
m_swx->DoContextMenu(Point(pt.x, pt.y));
}
+
+void wxStyledTextCtrl::OnMouseWheel(wxMouseEvent& evt) {
+ m_swx->DoMouseWheel(evt.GetWheelRotation(),
+ evt.GetWheelDelta(),
+ evt.GetLinesPerAction());
+}
+
+
void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
long key = evt.KeyCode();
if ((key > WXK_ESCAPE) &&
void OnMouseMove(wxMouseEvent& evt);
void OnMouseLeftUp(wxMouseEvent& evt);
void OnMouseRightUp(wxMouseEvent& evt);
+ void OnMouseWheel(wxMouseEvent& evt);
void OnChar(wxKeyEvent& evt);
void OnKeyDown(wxKeyEvent& evt);
void OnLoseFocus(wxFocusEvent& evt);
void OnMouseMove(wxMouseEvent& evt);
void OnMouseLeftUp(wxMouseEvent& evt);
void OnMouseRightUp(wxMouseEvent& evt);
+ void OnMouseWheel(wxMouseEvent& evt);
void OnChar(wxKeyEvent& evt);
void OnKeyDown(wxKeyEvent& evt);
void OnLoseFocus(wxFocusEvent& evt);
wMain = win;
wDraw = win;
stc = win;
+ wheelRotation = 0;
Initialise();
}
ScrollTo(topLineNew);
}
+
+void ScintillaWX::DoMouseWheel(int rotation, int delta, int linesPerAction) {
+ int topLineNew = topLine;
+ int lines;
+
+ wheelRotation += rotation;
+ lines = wheelRotation / delta;
+ wheelRotation -= lines * delta;
+ if (lines != 0) {
+ lines *= linesPerAction;
+ topLineNew -= lines;
+ ScrollTo(topLineNew);
+ }
+}
+
+
void ScintillaWX::DoSize(int width, int height) {
PRectangle rcClient(0,0,width,height);
SetScrollBarsTo(rcClient);
void DoButtonDown(Point pt, unsigned int curTime, bool shift, bool ctrl, bool alt);
void DoButtonUp(Point pt, unsigned int curTime, bool ctrl);
void DoButtonMove(Point pt);
+ void DoMouseWheel(int rotation, int delta, int linesPerAction);
void DoAddChar(char ch);
int DoKeyDown(int key, bool shift, bool ctrl, bool alt);
void DoTick() { Tick(); }
wxSTCDropTarget* dropTarget;
wxDragResult dragResult;
+ int wheelRotation;
};
//----------------------------------------------------------------------
IFACE = './scintilla/include/Scintilla.iface'
H_TEMPLATE = './stc.h.in'
CPP_TEMPLATE = './stc.cpp.in'
-H_DEST = '../../include/wx/stc/stc.h' # './stc_test.h' #
-CPP_DEST = './stc.cpp' #'./stc_test.cpp'
+H_DEST = '../../include/wx/stc/stc.h'
+CPP_DEST = './stc.cpp'
# Value prefixes to convert
valPrefixes = [('SCI_', ''),
('SC_', ''),
- ('SCN_', None), # just toss these...
+ ('SCN_', None), # just toss these out...
('SCEN_', None),
('SCE_', ''),
('SCLEX_', 'LEX_'),
EVT_MOTION (wxStyledTextCtrl::OnMouseMove)
EVT_LEFT_UP (wxStyledTextCtrl::OnMouseLeftUp)
EVT_RIGHT_UP (wxStyledTextCtrl::OnMouseRightUp)
+ EVT_MOUSEWHEEL (wxStyledTextCtrl::OnMouseWheel)
EVT_CHAR (wxStyledTextCtrl::OnChar)
EVT_KEY_DOWN (wxStyledTextCtrl::OnKeyDown)
EVT_KILL_FOCUS (wxStyledTextCtrl::OnLoseFocus)
m_swx->DoContextMenu(Point(pt.x, pt.y));
}
+
+void wxStyledTextCtrl::OnMouseWheel(wxMouseEvent& evt) {
+ m_swx->DoMouseWheel(evt.GetWheelRotation(),
+ evt.GetWheelDelta(),
+ evt.GetLinesPerAction());
+}
+
+
void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
long key = evt.KeyCode();
if ((key > WXK_ESCAPE) &&
EVT_MOTION (wxStyledTextCtrl::OnMouseMove)
EVT_LEFT_UP (wxStyledTextCtrl::OnMouseLeftUp)
EVT_RIGHT_UP (wxStyledTextCtrl::OnMouseRightUp)
+ EVT_MOUSEWHEEL (wxStyledTextCtrl::OnMouseWheel)
EVT_CHAR (wxStyledTextCtrl::OnChar)
EVT_KEY_DOWN (wxStyledTextCtrl::OnKeyDown)
EVT_KILL_FOCUS (wxStyledTextCtrl::OnLoseFocus)
m_swx->DoContextMenu(Point(pt.x, pt.y));
}
+
+void wxStyledTextCtrl::OnMouseWheel(wxMouseEvent& evt) {
+ m_swx->DoMouseWheel(evt.GetWheelRotation(),
+ evt.GetWheelDelta(),
+ evt.GetLinesPerAction());
+}
+
+
void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
long key = evt.KeyCode();
if ((key > WXK_ESCAPE) &&
void OnMouseMove(wxMouseEvent& evt);
void OnMouseLeftUp(wxMouseEvent& evt);
void OnMouseRightUp(wxMouseEvent& evt);
+ void OnMouseWheel(wxMouseEvent& evt);
void OnChar(wxKeyEvent& evt);
void OnKeyDown(wxKeyEvent& evt);
void OnLoseFocus(wxFocusEvent& evt);