]> O.S.I.I.S - jp/crow.git/commitdiff
some border detection improvments
authorjp <jp_bruyere@hotmail.com>
Mon, 4 Apr 2016 05:17:20 +0000 (07:17 +0200)
committerjp <jp_bruyere@hotmail.com>
Mon, 4 Apr 2016 05:18:50 +0000 (07:18 +0200)
Templates/CheckBox.goml
src/GraphicObjects/Window.cs

index ac4803ed3c07497d698fea8ff73ebe3b273cb874..b19dcc125d533266c296aa06edb6cc0f9e66759b 100755 (executable)
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
 <HorizontalStack Margin="1" Spacing="1" Height="{../HeightPolicy}" Width="{../WidthPolicy}">
        <Image Margin="2" Width="14"  Height="14" Path="{../../Image}" SvgSub="{../../IsChecked}"/>
-       <Label Text="{../../Caption}" Height="{../../HeightPolicy}" Width="{../../WidthPolicy}"/>
+       <Label Font="{../../Font}" Text="{../../Caption}" Height="{../../HeightPolicy}" Width="{../../WidthPolicy}"/>
 </HorizontalStack>
\ No newline at end of file
index 429d42696240bffce80c1b374d732d35a9e2e4c3..2bfa69214817483c40a5b714165583f6ad08bf6c 100644 (file)
@@ -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 ()