mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 14:16:07 -06:00
CtrlLib, ide: Horizontal scrool wheel support in LineEdit, TreeCtrl, ide IconDes, LayDes and DiffCtrl
This commit is contained in:
parent
6381a3a3f4
commit
4580ca77db
14 changed files with 60 additions and 21 deletions
|
|
@ -161,6 +161,11 @@ struct App : TopWindow {
|
|||
Log(Format("MouseWheel(Point(%d, %d), %d, %x)", p.x, p.y, zdelta, (int)keyflags));
|
||||
}
|
||||
|
||||
virtual void MouseWheelH(Point p, int zdelta, dword keyflags)
|
||||
{
|
||||
Log(Format("MouseWheelH(Point(%d, %d), %d, %x)", p.x, p.y, zdelta, (int)keyflags));
|
||||
}
|
||||
|
||||
virtual void MouseLeave()
|
||||
{
|
||||
Log("MouseLeave");
|
||||
|
|
|
|||
|
|
@ -988,7 +988,7 @@ public:
|
|||
virtual void MiddleHold(Point p, dword keyflags);
|
||||
virtual void MiddleUp(Point p, dword keyflags);
|
||||
virtual void MouseWheel(Point p, int zdelta, dword keyflags);
|
||||
virtual void MouseWheelHor(Point p, int zdelta, dword keyflags);
|
||||
virtual void MouseWheelH(Point p, int zdelta, dword keyflags);
|
||||
virtual void MouseLeave();
|
||||
|
||||
virtual void Pen(Point p, const PenInfo& pen, dword keyflags);
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ void Ctrl::MouseWheel(Point p, int zd, dword kf)
|
|||
}
|
||||
}
|
||||
|
||||
void Ctrl::MouseWheelHor(Point p, int zd, dword kf)
|
||||
void Ctrl::MouseWheelH(Point p, int zd, dword kf)
|
||||
{
|
||||
Ctrl *parent = GetParent();
|
||||
if(parent) {
|
||||
|
|
@ -238,7 +238,7 @@ Image Ctrl::MouseEvent(int event, Point p, int zdelta, dword keyflags)
|
|||
MouseWheel(p, zdelta, keyflags);
|
||||
break;
|
||||
case MOUSEHWHEEL:
|
||||
MouseWheelHor(p, zdelta, keyflags);
|
||||
MouseWheelH(p, zdelta, keyflags);
|
||||
break;
|
||||
case CURSORIMAGE:
|
||||
return CursorImage(p, keyflags);
|
||||
|
|
|
|||
|
|
@ -45,6 +45,11 @@ void LineEdit::MouseWheel(Point, int zdelta, dword keyflags) {
|
|||
sb.WheelY(zdelta);
|
||||
}
|
||||
|
||||
void LineEdit::MouseWheelH(Point, int zdelta, dword)
|
||||
{
|
||||
sb.WheelX(zdelta);
|
||||
}
|
||||
|
||||
void LineEdit::Clear() {
|
||||
gcolumn = 0;
|
||||
TextCtrl::Clear();
|
||||
|
|
|
|||
|
|
@ -292,6 +292,7 @@ public:
|
|||
virtual void LeftDrag(Point p, dword flags);
|
||||
virtual void MouseMove(Point p, dword flags);
|
||||
virtual void MouseWheel(Point, int zdelta, dword);
|
||||
virtual void MouseWheelH(Point, int zdelta, dword);
|
||||
virtual Image CursorImage(Point, dword);
|
||||
virtual void DragAndDrop(Point p, PasteClip& d);
|
||||
virtual void DragRepeat(Point p);
|
||||
|
|
|
|||
|
|
@ -1222,6 +1222,11 @@ void TreeCtrl::MouseWheel(Point, int zdelta, dword keyflags)
|
|||
sb.WheelY(zdelta);
|
||||
}
|
||||
|
||||
void TreeCtrl::MouseWheelH(Point, int zdelta, dword keyflags)
|
||||
{
|
||||
sb.WheelX(zdelta);
|
||||
}
|
||||
|
||||
void TreeCtrl::ChildGotFocus()
|
||||
{
|
||||
if(chldlck)
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ public:
|
|||
virtual void LeftDrag(Point p, dword keyflags);
|
||||
virtual void RightDown(Point p, dword flags);
|
||||
virtual void MouseWheel(Point p, int zdelta, dword keyflags);
|
||||
virtual void MouseWheelH(Point, int zdelta, dword keyflags);
|
||||
virtual void MouseMove(Point, dword);
|
||||
virtual bool Key(dword key, int);
|
||||
virtual void GotFocus();
|
||||
|
|
|
|||
|
|
@ -50,14 +50,6 @@ void IconDes::MouseMove(Point p, dword keyflags)
|
|||
(this->*tool)(p, keyflags);
|
||||
}
|
||||
|
||||
void Upp::IconDes::MouseWheel(Point, int zdelta, dword)
|
||||
{
|
||||
if(zdelta < 0)
|
||||
ZoomOut();
|
||||
else
|
||||
ZoomIn();
|
||||
}
|
||||
|
||||
void IconDes::LeftUp(Point p, dword keyflags)
|
||||
{
|
||||
if(!IsCurrent())
|
||||
|
|
|
|||
|
|
@ -60,6 +60,23 @@ void IconDes::SetSb()
|
|||
}
|
||||
}
|
||||
|
||||
void IconDes::MouseWheel(Point pt, int zdelta, dword keyflags)
|
||||
{
|
||||
if(keyflags & K_CTRL) {
|
||||
if(zdelta < 0)
|
||||
ZoomOut();
|
||||
else
|
||||
ZoomIn();
|
||||
}
|
||||
else
|
||||
sb.WheelY(zdelta);
|
||||
}
|
||||
|
||||
void IconDes::MouseWheelH(Point pt, int zdelta, dword keyflags)
|
||||
{
|
||||
sb.WheelX(zdelta);
|
||||
}
|
||||
|
||||
void IconDes::Scroll()
|
||||
{
|
||||
magnify = max(magnify, 1);
|
||||
|
|
|
|||
|
|
@ -141,6 +141,7 @@ public:
|
|||
virtual void MouseLeave() { SyncStatus(); }
|
||||
virtual void LeftUp(Point p, dword keyflags);
|
||||
virtual void MouseWheel(Point p, int zdelta, dword keyflags);
|
||||
virtual void MouseWheelH(Point pt, int zdelta, dword keyflags);
|
||||
virtual void RightDown(Point p, dword keyflags);
|
||||
virtual bool Key(dword key, int count);
|
||||
virtual Image CursorImage(Point p, dword keyflags);
|
||||
|
|
|
|||
|
|
@ -430,6 +430,11 @@ void TextCompareCtrl::MouseWheel(Point pt, int zdelta, dword keyflags)
|
|||
scroll.WheelY(zdelta);
|
||||
}
|
||||
|
||||
void TextCompareCtrl::MouseWheelH(Point pt, int zdelta, dword keyflags)
|
||||
{
|
||||
scroll.WheelX(zdelta);
|
||||
}
|
||||
|
||||
void TextCompareCtrl::SetCount(int c)
|
||||
{
|
||||
bool rl = (c < lines.GetCount());
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ public:
|
|||
virtual void Paint(Draw& draw);
|
||||
virtual void Layout();
|
||||
virtual void MouseWheel(Point pt, int zdelta, dword keyflags);
|
||||
virtual void MouseWheelH(Point pt, int zdelta, dword keyflags);
|
||||
virtual void MouseMove(Point pt, dword keyflags);
|
||||
virtual void LeftDown(Point pt, dword keyflags);
|
||||
virtual void LeftDouble(Point pt, dword keyflags);
|
||||
|
|
|
|||
|
|
@ -270,16 +270,17 @@ struct LayDesEditPos {
|
|||
|
||||
class LayDes : public StaticRect {
|
||||
public:
|
||||
virtual void Paint(Draw& w) override;
|
||||
virtual Image CursorImage(Point p, dword keyflags) override;
|
||||
virtual void LeftDown(Point p, dword keyflags) override;
|
||||
virtual void LeftRepeat(Point p, dword keyflags) override;
|
||||
virtual void MouseMove(Point p, dword keyflags) override;
|
||||
virtual void MouseWheel(Point p, int zdelta, dword keyflags) override;
|
||||
virtual void LeftUp(Point p, dword keyflags) override;
|
||||
virtual void RightDown(Point p, dword keyflags) override;
|
||||
virtual void Layout() override;
|
||||
virtual bool HotKey(dword key) override;
|
||||
void Paint(Draw& w) override;
|
||||
Image CursorImage(Point p, dword keyflags) override;
|
||||
void LeftDown(Point p, dword keyflags) override;
|
||||
void LeftRepeat(Point p, dword keyflags) override;
|
||||
void MouseMove(Point p, dword keyflags) override;
|
||||
void MouseWheel(Point p, int zdelta, dword keyflags) override;
|
||||
void MouseWheelH(Point, int zdelta, dword) override;
|
||||
void LeftUp(Point p, dword keyflags) override;
|
||||
void RightDown(Point p, dword keyflags) override;
|
||||
void Layout() override;
|
||||
bool HotKey(dword key) override;
|
||||
|
||||
private:
|
||||
bool DoKey(dword key, int count);
|
||||
|
|
|
|||
|
|
@ -294,6 +294,11 @@ void LayDes::MouseWheel(Point p, int zdelta, dword keyflags)
|
|||
sb.WheelY(zdelta);
|
||||
}
|
||||
|
||||
void LayDes::MouseWheelH(Point, int zdelta, dword)
|
||||
{
|
||||
sb.WheelX(zdelta);
|
||||
}
|
||||
|
||||
double LayDes::GetScale()
|
||||
{
|
||||
return (20 - Zoom) / 20.0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue