diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2018-02-15 14:58:36 +0100 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2018-02-15 14:58:36 +0100 |
| commit | c1b29a565bdbf37fd88d268588710ce8f4f84d5b (patch) | |
| tree | 37ec254f01bb8d2bad971c137fa787ca76a194d1 /src/GraphicObjects/Scroller.cs | |
| parent | 0efa7446134489edd303b349ae1220f1c4228e9a (diff) | |
CrowIDE WIP, context commands, tooltips, PointIsIn(ref point), configuration no longer static.
also:
- remove default null value for datasource
- dschange sender changed in group and privateContainer
- try closing menuItem, should debug
- Contains search also template in TemplatedContainer
- change in nodeAddress: expresion starting with '/' means current node
- MouseEventArgs CTOR with one source button
- RemoveWidget trigger check HoverWidget
- Orientation binding in Menu template
Diffstat (limited to 'src/GraphicObjects/Scroller.cs')
| -rw-r--r-- | src/GraphicObjects/Scroller.cs | 52 |
1 files changed, 37 insertions, 15 deletions
diff --git a/src/GraphicObjects/Scroller.cs b/src/GraphicObjects/Scroller.cs index ec3bc47d..a4e1b816 100644 --- a/src/GraphicObjects/Scroller.cs +++ b/src/GraphicObjects/Scroller.cs @@ -219,17 +219,39 @@ namespace Crow } #region Mouse handling - internal Point savedMousePos; - public override bool MouseIsIn (Point m) - { - return Visible ? base.ScreenCoordinates(Slot).ContainsOrIsEqual (m) : false; - } - public override void checkHoverWidget (MouseMoveEventArgs e) + //internal Point savedMousePos; + + public override bool PointIsIn (ref Point m) { - savedMousePos = e.Position; - Point m = e.Position - new Point (ScrollX, ScrollY); - base.checkHoverWidget (new MouseMoveEventArgs(m.X,m.Y,e.XDelta,e.YDelta)); +// if (!(Visible & IsEnabled)||IsDragged) +// return false; +// ILayoutable tmp = Parent; +// //while (tmp != null){ +// if (!Parent.PointIsIn(ref m)) +// return false; +// m -= (Parent.getSlot().Position + Parent.ClientRectangle.Position); +// if (!Slot.ContainsOrIsEqual (m) || child==null) +// return false; +// m += new Point (ScrollX, ScrollY); +// return true; + if (!base.PointIsIn(ref m)) + return false; + //m -= (Parent.getSlot().Position + Parent.ClientRectangle.Position); + if (!Slot.ContainsOrIsEqual (m) || child==null) + return false; + m += new Point (ScrollX, ScrollY); + return true; } +// public override bool MouseIsIn (Point m) +// { +// return Visible ? base.ScreenCoordinates(Slot).ContainsOrIsEqual (m) : false; +// } +// public override void checkHoverWidget (MouseMoveEventArgs e) +// { +// savedMousePos = e.Position; +// Point m = e.Position - new Point (ScrollX, ScrollY); +// base.checkHoverWidget (new MouseMoveEventArgs(m.X,m.Y,e.XDelta,e.YDelta)); +// } public override void onMouseWheel (object sender, MouseWheelEventArgs e) { if (Child == null) @@ -240,12 +262,12 @@ namespace Crow if (HorizontalScrolling ) ScrollX -= e.Delta * ScrollSpeed; } - public override void onMouseMove (object sender, MouseMoveEventArgs e) - { - savedMousePos.X += e.XDelta; - savedMousePos.Y += e.YDelta; - base.onMouseMove (sender, new MouseMoveEventArgs(savedMousePos.X,savedMousePos.Y,e.XDelta,e.YDelta)); - } +// public override void onMouseMove (object sender, MouseMoveEventArgs e) +// { +// savedMousePos.X += e.XDelta; +// savedMousePos.Y += e.YDelta; +// base.onMouseMove (sender, new MouseMoveEventArgs(savedMousePos.X,savedMousePos.Y,e.XDelta,e.YDelta)); +// } public override void RegisterClip (Rectangle clip) { base.RegisterClip (clip - new Point(ScrollX,ScrollY)); |