aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/GraphicObjects/Scroller.cs
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-02-15 14:58:36 +0100
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-02-15 14:58:36 +0100
commitc1b29a565bdbf37fd88d268588710ce8f4f84d5b (patch)
tree37ec254f01bb8d2bad971c137fa787ca76a194d1 /src/GraphicObjects/Scroller.cs
parent0efa7446134489edd303b349ae1220f1c4228e9a (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.cs52
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));