aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/GraphicObjects/Window.cs
diff options
context:
space:
mode:
authorjp <jp_bruyere@hotmail.com>2016-04-04 07:17:20 +0200
committerjp <jp_bruyere@hotmail.com>2016-04-04 07:18:50 +0200
commit075f279755493aece9b97566373377e8858985bc (patch)
tree9d6c7d63fa0e22c52ab816058e64adcd4cc10e2d /src/GraphicObjects/Window.cs
parent22644afe6f0722dcfb5fd27ba353f12274f55eb6 (diff)
some border detection improvments
Diffstat (limited to 'src/GraphicObjects/Window.cs')
-rw-r--r--src/GraphicObjects/Window.cs56
1 files changed, 28 insertions, 28 deletions
diff --git a/src/GraphicObjects/Window.cs b/src/GraphicObjects/Window.cs
index 429d4269..2bfa6921 100644
--- a/src/GraphicObjects/Window.cs
+++ b/src/GraphicObjects/Window.cs
@@ -34,15 +34,6 @@ namespace Crow
}
#endregion
- #region GraphicObject overrides
- [XmlAttributeAttribute()][DefaultValue(true)]//overiden to get default to true
- public override bool Focusable
- {
- get { return base.Focusable; }
- set { base.Focusable = value; }
- }
- #endregion
-
public override GraphicObject Content {
get {
return _contentContainer == null ? null : _contentContainer.Child;
@@ -78,6 +69,7 @@ namespace Crow
}
}
+ bool hoverBorder = false;
public override void onMouseMove (object sender, MouseMoveEventArgs e)
{
@@ -85,11 +77,13 @@ namespace Crow
Interface otkgw = Interface.CurrentInterface;
- if (e.Mouse.IsButtonDown (MouseButton.Left)) {
- if (!HasFocus)
- return;
-
- //otkgw.redrawClip.AddRectangle (this.ScreenCoordinates(this.Slot));
+ if (!hoverBorder) {
+ currentDirection = Direction.None;
+ Interface.CurrentInterface.MouseCursor = XCursor.Default;
+ return;
+ }
+
+ if (e.Mouse.IsButtonDown (MouseButton.Left)) {
int currentLeft = this.Left;
int currentTop = this.Top;
@@ -141,14 +135,14 @@ namespace Crow
}
return;
}
- GraphicObject firstFocusableAncestor = otkgw.hoverWidget;
- while (firstFocusableAncestor != this) {
- if (firstFocusableAncestor == null)
- return;
- if (firstFocusableAncestor.Focusable)
- return;
- firstFocusableAncestor = firstFocusableAncestor.Parent as GraphicObject;
- }
+// GraphicObject firstFocusableAncestor = otkgw.hoverWidget;
+// while (firstFocusableAncestor != this) {
+// if (firstFocusableAncestor == null)
+// return;
+// if (firstFocusableAncestor.Focusable)
+// return;
+// firstFocusableAncestor = firstFocusableAncestor.Parent as GraphicObject;
+// }
if (Resizable) {
Direction lastDir = currentDirection;
@@ -206,13 +200,21 @@ namespace Crow
}
}
}
- public override void onMouseLeave (object sender, MouseMoveEventArgs e)
+ public void onBorderMouseLeave (object sender, MouseMoveEventArgs e)
{
- base.onMouseLeave (sender, e);
+ hoverBorder = false;
currentDirection = Direction.None;
Interface.CurrentInterface.MouseCursor = XCursor.Default;
}
+ public void onBorderMouseEnter (object sender, MouseMoveEventArgs e)
+ {
+ hoverBorder = true;
+ }
+ public override void onMouseDown (object sender, MouseButtonEventArgs e)
+ {
+ base.onMouseDown (sender, e);
+ }
protected override void loadTemplate(GraphicObject template = null)
{
base.loadTemplate (template);
@@ -221,10 +223,8 @@ namespace Crow
protected void butQuitPress (object sender, MouseButtonEventArgs e)
{
- ILayoutable parent = (sender as GraphicObject).Parent;
- while(!(parent is Window))
- parent = parent.Parent;
- Interface.CurrentInterface.DeleteWidget (parent as GraphicObject);
+ Interface.CurrentInterface.MouseCursor = XCursor.Default;
+ Interface.CurrentInterface.DeleteWidget (this);
}
public override void ResolveBindings ()