From: jpbruyere Date: Fri, 5 Feb 2016 15:14:26 +0000 (+0100) Subject: resolve several bug in scrollbar X-Git-Tag: 0.3~50 X-Git-Url: https://git.osiis.dedyn.io/?a=commitdiff_plain;h=9188b4aaeeef71a525292dc92325555f7d633982;p=jp%2Fcrow.git resolve several bug in scrollbar --- diff --git a/src/GraphicObjects/NumericControl.cs b/src/GraphicObjects/NumericControl.cs index 3e35f102..409a200f 100644 --- a/src/GraphicObjects/NumericControl.cs +++ b/src/GraphicObjects/NumericControl.cs @@ -29,7 +29,8 @@ namespace Crow return; minValue = value; - + NotifyValueChanged ("Minimum", minValue); + registerForGraphicUpdate (); } } [XmlAttributeAttribute()][DefaultValue(100.0)] @@ -41,7 +42,8 @@ namespace Crow return; maxValue = value; - + NotifyValueChanged ("Maximum", maxValue); + registerForGraphicUpdate (); } } [XmlAttributeAttribute()][DefaultValue(1.0)] @@ -53,7 +55,8 @@ namespace Crow return; smallStep = value; - + NotifyValueChanged ("SmallIncrement", smallStep); + registerForGraphicUpdate (); } } [XmlAttributeAttribute()][DefaultValue(5.0)] @@ -65,7 +68,8 @@ namespace Crow return; bigStep = value; - + NotifyValueChanged ("LargeIncrement", bigStep); + registerForGraphicUpdate (); } } [XmlAttributeAttribute()][DefaultValue(0)] diff --git a/src/GraphicObjects/ScrollBar.cs b/src/GraphicObjects/ScrollBar.cs index 9a598aba..3e095457 100644 --- a/src/GraphicObjects/ScrollBar.cs +++ b/src/GraphicObjects/ScrollBar.cs @@ -76,22 +76,17 @@ namespace Crow } public void onScrollBack (object sender, MouseButtonEventArgs e) { - Scroll -= _slider.LargeIncrement; + Scroll -= 50; } public void onScrollForth (object sender, MouseButtonEventArgs e) { - Scroll += _slider.LargeIncrement; + Scroll += 50; } public void onSliderValueChange(object sender, ValueChangeEventArgs e){ - Scroll = Convert.ToDouble(e.NewValue); - } - - public override void OnLayoutChanges (LayoutingType layoutType) - { - OpenTKGameWindow.currentWindow.CursorVisible = true; - base.OnLayoutChanges (layoutType); + if (e.MemberName == "Value") + Scroll = Convert.ToDouble(e.NewValue); } } } diff --git a/src/GraphicObjects/Scroller.cs b/src/GraphicObjects/Scroller.cs index 1171d8d9..b2a09db5 100644 --- a/src/GraphicObjects/Scroller.cs +++ b/src/GraphicObjects/Scroller.cs @@ -80,8 +80,8 @@ namespace Crow public int MaximumScroll { get { return VerticalScrolling ? - child == null ? 0 : Child.Slot.Height - ClientRectangle.Height : - Child.Slot.Width - ClientRectangle.Width; + child == null ? 0 : Math.Max(Child.Slot.Height - ClientRectangle.Height,0) : + Math.Max(Child.Slot.Width - ClientRectangle.Width,0); } } diff --git a/src/GraphicObjects/Slider.cs b/src/GraphicObjects/Slider.cs index d0a56d9d..495683d2 100644 --- a/src/GraphicObjects/Slider.cs +++ b/src/GraphicObjects/Slider.cs @@ -86,7 +86,6 @@ namespace Crow base.Maximum = value; LargeIncrement = base.Maximum / 10.0; SmallIncrement = LargeIncrement / 5.0; - } }