diff options
author | Lluis Sanchez <lluis@xamarin.com> | 2013-06-04 14:07:48 +0400 |
---|---|---|
committer | Lluis Sanchez <lluis@xamarin.com> | 2013-06-04 14:07:48 +0400 |
commit | 16490685f6cd8079e0032b28b1ee141cc538c0d7 (patch) | |
tree | f5dc247ccde77424a4bc8e51888406b3bdaa09bf /Xwt.Mac | |
parent | 0219f84eca58d71f9e3673f34c4491637545b65b (diff) |
Fixes in ScrollAdjustment
The adjustment bounds are now set all together using a single SetRange
method.
Diffstat (limited to 'Xwt.Mac')
-rw-r--r-- | Xwt.Mac/Xwt.Mac/ScrollAdjustmentBackend.cs | 69 | ||||
-rw-r--r-- | Xwt.Mac/Xwt.Mac/ScrollbarBackend.cs | 73 |
2 files changed, 37 insertions, 105 deletions
diff --git a/Xwt.Mac/Xwt.Mac/ScrollAdjustmentBackend.cs b/Xwt.Mac/Xwt.Mac/ScrollAdjustmentBackend.cs index 477f16a4..6d1082d4 100644 --- a/Xwt.Mac/Xwt.Mac/ScrollAdjustmentBackend.cs +++ b/Xwt.Mac/Xwt.Mac/ScrollAdjustmentBackend.cs @@ -35,9 +35,6 @@ namespace Xwt.Mac bool vertical; NSScrollView scrollView; IScrollAdjustmentEventSink eventSink; - double lower; - double upper; - double pageSize; public ScrollAdjustmentBackend (NSScrollView scrollView, bool vertical) { @@ -89,58 +86,30 @@ namespace Xwt.Mac } } - public double LowerValue { - get { - return lower; - } - set { - lower = value; - ClipView.UpdateDocumentSize (); - } - } + public void SetRange (double lowerValue, double upperValue, double pageSize, double pageIncrement, double stepIncrement, double value) + { + LowerValue = lowerValue; + UpperValue = upperValue; + PageSize = pageSize; + PageIncrement = pageIncrement; - public double UpperValue { - get { - return upper; - } - set { - upper = value; - ClipView.UpdateDocumentSize (); - } - } + if (vertical) + scrollView.VerticalLineScroll = (float)stepIncrement; + else + scrollView.HorizontalLineScroll = (float)stepIncrement; - public double PageIncrement { - get { - return 10; - } - set { - } + ClipView.UpdateDocumentSize (); + Value = value; } - public double StepIncrement { - get { - if (vertical) - return scrollView.VerticalLineScroll; - else - return scrollView.HorizontalLineScroll; - } - set { - if (vertical) - scrollView.VerticalLineScroll = (float)value; - else - scrollView.HorizontalLineScroll = (float)value; - } - } + public double LowerValue { get; private set; } + + public double UpperValue { get; private set; } + + public double PageIncrement { get; private set; } + + public double PageSize { get; private set; } - public double PageSize { - get { - return pageSize; - } - set { - pageSize = value; - ClipView.UpdateDocumentSize (); - } - } #endregion } } diff --git a/Xwt.Mac/Xwt.Mac/ScrollbarBackend.cs b/Xwt.Mac/Xwt.Mac/ScrollbarBackend.cs index adc7e623..a051154b 100644 --- a/Xwt.Mac/Xwt.Mac/ScrollbarBackend.cs +++ b/Xwt.Mac/Xwt.Mac/ScrollbarBackend.cs @@ -61,6 +61,13 @@ namespace Xwt.Mac { IScrollAdjustmentEventSink eventSink; + double value; + double lowerValue; + double upperValue; + double pageIncrement; + double stepIncrement; + double pageSize; + NSView IViewObject.View { get { return this; @@ -114,7 +121,6 @@ namespace Xwt.Mac eventSink.OnValueChanged (); } - double value; public double Value { get { return value; @@ -125,60 +131,17 @@ namespace Xwt.Mac } } - double lowerValue; - public double LowerValue { - get { - return lowerValue; - } - set { - lowerValue = value; - UpdateValue (); - UpdateKnobProportion (); - } - } - - double upperValue; - public double UpperValue { - get { - return upperValue; - } - set { - upperValue = value; - UpdateValue (); - UpdateKnobProportion (); - } - } - - double pageIncrement; - public double PageIncrement { - get { - return pageIncrement; - } - set { - pageIncrement = value; - } - } - - double stepIncrement; - public double StepIncrement { - get { - return stepIncrement; - } - set { - stepIncrement = value; - } - } - - double pageSize; - public double PageSize { - get { - return pageSize; - } - set { - pageSize = value; - UpdateValue (); - UpdateKnobProportion (); - } + public void SetRange (double lowerValue, double upperValue, double pageSize, double pageIncrement, double stepIncrement, double value) + { + this.lowerValue = lowerValue; + this.upperValue = upperValue; + this.pageSize = pageSize; + this.pageIncrement = pageIncrement; + this.stepIncrement = stepIncrement; + this.value = value; + + UpdateValue (); + UpdateKnobProportion (); } public void InitializeBackend (object frontend, ApplicationContext context) |