RSS Feed
News
Nov
7

A while ago we announced we had open sourced the small but useful WPF Transitionz library for Metro Style Animation effects in WPF applications. To our surprise this now has over 5,000 downloads on NuGet.org and even received a couple of questions & bug reports via the Github repository!

We’re using the four libraries in SciChart.Wpf.Ui in our SciChart WPF Examples Suite, and also starting to use them in consultancy projects, so we’ve updated them for 2018 to be compatible with .NET Standard 2.0 and .NET 4.6.1, plus fixed a number of bugs & added other improvements.

What’s in SciChart.Wpf.UI ?

So what’s in this mysterious collection of open source libraries? A quick run-down below.

SciChart.UI.Bootstrap

Supporting .NET Standard 2.0 / .NET Framework 4.6.1 and above, this library includes bootstrapper classes for WPF Applications using Unity and allowing automatic dependency discovery across a range of assemblies.

See the Bootstrap Library Overview page at SciChart.Wpf.UI.

To use it,

  1. Decorate your types with the [ExportType] attribute
    	public interface IFoo
    	{
    	}
    
    	// This type is automatically registered with the Unity Container
    	// Every time IFoo is resolved, you get a new instance
    	[ExportType(typeof(IFoo))]
    	public class Foo : IFoo
    	{
    		// Any other registered dependency can go in the constructor
    		public Foo(IUnityContainer container)
    		{
    		}
    	}
    
  2. Create a Bootstrapper and initialize public partial class App : Application
        public partial class App : Application
        {
            private AbtBootstrapper _bootstrapper;
    
            public App()
            {
                _bootstrapper = new AbtBootstrapper(new UnityContainer(), new AttributedTypeDiscoveryService(new AutoAssemblyDiscovery()));
                _bootstrapper.Initialize();
    
                 // At this point, your container now contains all the types decorated with [ExportType] attribute
                 // You may resolve them as normal in Unity 
            }
        }
    
  3. Now your application has UnityContainer powered dependency injection in just a few lines of code!

 

SciChart.UI.Reactive 

The SciChart.UI.Reactive library supports .NET Standard 2.0 / .NET Framework 4.6.1 and above provides observable viewmodels which combine INotifyPropertyChanged event notifications for WPF, and Reactive IObservable streams for observing individual, or combinations of properties.

See Reactive Library Overview and Reactive Library WhenPropertyChanged wiki pages.

The main benefit of this library is that it brings the incredible power of Reactive Extensions to MVVM in WPF applications. You declare a class like this:

public class WhenPropertyChangedTests : ObservableObjectBase
{        
    public string SearchText
    {
        get => GetDynamicValue();
        set => SetDynamicValue(value);
    }

    public SearchOptions SearchOptions
    {
        get => GetDynamicValue();
        set => SetDynamicValue(value);
    }
}

and now any of these properties raise both PropertyChanged events as well as a reactive stream (IObservable<T>). You also don’t have to create a backing field making all your properties, these are stored in the base class (ObservableObjectBase) in a dictionary.

Properties may now be observed using Reactive Extensions as follows:

void Foo()
{
	// Create the ViewModel
	WhenPropertyChangedTests vm = new WhenPropertyChangedTests();

	// Observe properties
	var observable1 = vm.WhenPropertyChanged(x => x.SearchText);
	var observable2 = vm.WhenPropertyChanged(x => x.SearchOptions);

	// Subscribe 
	var disposable = observable1.Subscribe(t => Console.WriteLine($"Search Text = '{t}'"));

	// Set properties 
	vm.SearchText = "Hello"; // -> Should output 'Search Text = 'Hello'' to console
	vm.SearchText = "World"; // -> Should output 'Search Text = 'World'' to console

	disposable.Dispose();

	vm.SearchText = "Not observed"; // nothing happens 
}

and multiple properties may be observed using Observable.CombineLatest

void Foo()
{
    // Create the ViewModel
    WhenPropertyChangedTests vm = new WhenPropertyChangedTests();

    // Observe properties
    var observable1 = vm.WhenPropertyChanged(x => x.SearchText);
    var observable2 = vm.WhenPropertyChanged(x => x.SearchOptions);

    // Subscribe 
    var disposable = Observable.CombineLatest(observable1, observable2, Tuple.Create)
        .Subscribe(t => Console.WriteLine($"Search Text = '{t.Item1}', Options = '{t.Item2}'"));

    // Set properties 
    // 

    // -> Should output 'Search Text = 'Hello', Options = 'AnOption'' to console
    vm.SearchText = "Hello";
    // -> Should output 'Search Text = 'Hello', Options = 'AnotherOption'' to console 
    vm.SearchOptions = SearchOptions.AnotherOption;
    // -> Should output 'Search Text = 'World', Options = 'AnotherOption'' to console
    vm.SearchText = "World";

    disposable.Dispose();

    vm.SearchText = "Not observed"; // nothing happens 
}

If you haven’t checked out Reactive Extensions yet and seen what it can do for your WPF applications, or even server-side applications, then do so. It’s brilliant!

Learning resources:

SciChart.WPF.UI.Transitionz

The Transitionz library seems pretty popular with WPF developers as it provides a very simple way to animate elements on the UI with just Xaml attached properties.

Transitionz supports WPF / .NET 4.6.1 and above and allows the following effects in your application:

  1. Fade / Animate Opacity
  2. Translate / Animate position
  3. Scale / Animate size
  4. Blur / Animate blur factor

All Transitionz animations may be triggered on:

  1. On Visibility (e.g. Animate opacity on visibility changed)
  2. On DataContextChanged (e.g. trigger an animation when new DataContext attached)
  3. On Loaded (e.g. when the control.Loaded event fires)
  4. or .. Once (e.g. consider OnLoaded will fire each time the control is loaded, wheareas once ensures just one-time operation)
  5. Explicity, by binding to or setting Transition Params

Head over to the Transitionz Library wiki page for more information. We also have a small test-app bundled with SciChart.WPF.UI which demonstrates this functionality.

Transitionz WPF Animation Library

 

SciChart.WPF.UI

The SciChart.Wpf.UI assembly supports WPF / .NET 4.6.1 and above, and brings a number of useful controls to WPF applications, and metro styles based on MahApps.Metro. Controls include:

  • BusyPanelA panel which displays a spinner / hides content while BusyMessage is not null, shows the content when BusyMessage is null.
  • PopupHostA control to host popups which can be shown inside a WPF app with animated show & hide. The background can be blurred out or made darker, similar to a web popup.
  • WarningDialogA Metro-style warning dialog which pops up to prompt the user, and provides some Yes/No/Ok/Cancel buttons
  • Miscellaneous controls and classes, such as the LabelControl, ExceptionViewer,

 

SciChart.WPF.UI BusyPanel and Popups

 

Where to Get it

The SciChart.WPF.UI libraries are free & open source and may be used in commercial projects under the Apache 2.0 license. Packages are published to NuGet.org and source code is available on Github.

 

About Us

SciChart is a self-funded and profitable startup based in London, U.K., which specialises in High Performance, Realtime Chart controls as well as expert consultancy in complex .NET UI / Server applications.

Connect with me on LinkedIn to find out more about our background and capabilities. If you have a bespoke requirement and want to hire our world-class consultants, then get in touch!

 

 

The post Open Source SciChart.UI.Reactive and SciChart.WPF.UI.Transitionz v2.1 Released appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.


Read more »



Oct
18
SciChart iOS /Android / Xamarin v2.2.1 released!
Posted by Julia Skorobogata on 18 October 2018 11:42 AM

We are really excited to announce, that SciChart iOS/ Android / Xamarin v2.2.1 is released! 

What’s New in SciChart iOS /Android /Xamarin v 2.2.1?

There is a large number of improvements and bug fixes made in SciChart iOS/ Android / Xamarin v2.2.1. We have made many improvements and bug fixes, major memory leaks have been fixed. It is recommended for all users of SciChart v2.1 to update to the latest version! Please see more information below:

Changes:
  • Made SCIChartSurfaceProtocol conform to SCIChartControllerProtocol
  • Logarithmic axis zoom extents is fixed by SCILogarithmicVisibleRangeAnimator
Bug Fixes:
  • SCIOS-626: Fixed HorizintalLineAnnotation and VerticallLineAnnotation are not clipped by axes and are drawn over them
  • SCIOS-642: Fixed issue with on resize of the SCIChartSurface, lay out the axis labels
  • SCIOS-637: refactored internal scroll and removed velocityValue from improper places, fixed crash caused by SCILogarithmicDoubleCoordinateCalculator not having implemented getVelocityValueFrom
  • SCIOS-672: Fixed chart sync crash (EOG) – caused by TooltipShowOnTouch
  • SCIOS-596: Fixed Error during rendering of the first point when ifDigitalLine = true
  • Fixed major memory leaks in SciRenderable series
  • SC_DROID-558: added check to prevent exception during generation of minor ticks if there are no major ticks
  • SCIOS-682: Fixed iOS annotations seem to update independently from the data series
  • SC_DROID-562: Fixed memory leak in SpritePointMarker when textures were constantly recreated and never properly disposed because of wrong texture hash
  • SC_DROID-564: Fixed incorrect drawing of axis tick label – because StaticLayout had not enough space to fit label in one string so some labels were drawn as two lines of text;
  • SC_DROID-566: Fixed some logcat errors when OpenGL code was called without OpenGL context
  • Fixed SCIOS-687 – surface.Annotations.Clear() doesn’t clear all annotation from surface.
  • SC_DROID-568: Fixed exception because of how onSurfaceCreated() is implemented in GlSurfaceView ; refactored OpenGL renderer to avoid exception because of missing native memory chunk and made it resizable; also moved OpenGL programs creation so they are created only once
  • Fixed SCICustomAnnotation position in chart wrong
  • Fixed SCIXAxisDragModifier stopped working
  • Fixed SCILegendModifier: SCIDefaultLegendItem cell ambiguous width
  • Fixed text annotation formatting
  • Fixed exception if enable debug prints for CubicSpline
Improvements:
  • SC_DROID-566: improving OpenGL start up time – changed GLProgram implementation and made it lazy so we don’t initialize all shaders at once when render surface created
  • SC_DROID-565: added additional render pass data locks to ensure that it won’t be changed from another thread when applying transformation
  • Added default style values for PieSegment; added some common methods for PieSegmentBuilder
  • SC_DROID-563: rewritten GLTextureView rendering from scratch – now it uses Handler + Choreographer to schedule redrawing of render surface when VSync occurs in Android
  • Made custom annotations to support AnchorPoint alignment
  • SC_DROID-578: added propagating of listeners to child series for StackedSeriesCollectionBase
  • SC_DROID-561: added synchronized wrapper for SimpleDateFormat to prevent exception when same instance is accessed from different threads, applied the same approach to prevent possible exceptions when using DecimalFormat

Where to get iOS / Android / Xamarin v2.2.1?

You can get the SciChart iOS/Android/ Xamarin SDK v2.2.1 from the Downloads page. Source code customers can also get the latest from our Github repository as well as from Cocoapods for iOS, and Maven for Android. We also keep on delivering continuously for bug fixes, features and minor updates to the following package sources.

In addition, our example code is published to Github and is available to clone or download.

Download SciChart iOS/Android / Xamarin v 2.2.1

The post SciChart iOS /Android / Xamarin v2.2.1 released! appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.


Read more »



Oct
18
SciChart WPF v5.2.0 Released!
Posted by Julia Skorobogata on 18 October 2018 09:41 AM

We are pleased to announce the release of SciChart v5.2.0. Build 11680 . This is a new version which includes new features and big number of  bug fixes and improvements. It is strongly advised for users of SciChart v5.x to upgrade to this version, which is a drop-in replacement. 

What’s New in SciChart WPF v5.2.0?

Breaking changes 

There are some breaking changes, that will affect users of SciChart.DirectX, Custom Themes and AnnotationCreationModifierMVVM. Please read on. To the rest of the users this version is backward compatible.

  1. users of SciChart.DirectX will now need to update SharpDX to v4.2.0
  2. users who have custom themes will need to add the following three theme keys to their Theme Resource dictionary with color values of their choice:
    <!– 3DChart Specific values –>
    <Color x:Key=”PlaneBorderColor”>#FF333333</Color>
    <Color x:Key=”AxisPlaneBackgroundFill”>Transparent</Color>
    <Color x:Key=”Axis3DBandsFill”>#E1202123</Color>
    
  3. EffectManager.Instance.EnableDropShadows has been made obsolete, to solve a memory leak caused by WPF {x:Static} MarkupExtension binding. This property is now simply EffectManager.EnableDropShadows. Binding to this property may be achieved through the .NET 4.5 Static Property binding mechanism.
  4. AnnotationCreationModifierMVVM.AnnotationType is changed to – AnnotationCreationModifierMVVM.AnnotationViewModelType and AnnotationCreationModifierMVVM.AnnotationsColection to – AnnotationCreationModifierMVVM.AnnotationViewModelsCollection.

 

WPF New Chart Type: Free Surface Mesh 3D

The Free Surface 3D Chart types are a set of 3D Charts that represent the data by plotting the surface in a custom shape in 3D space. The Free Surface 3D Chart types allows to plot both types of charts that constrained to its basic 3D primitive and unconstrained. In other words it allows you to plot charts of all kinds of shapes, including Sphere, Cylinder, Disc and free-form mesh shapes.

Please this chart type examples below:

This chart type allows customization of a chart by overlaying heightmap, colormap (palette) and contours.

scichart wpf 3d chart example of ellipsoid 3d chart scichart wpf 3d chart example of closed mesh chart scichart wpf 3d chart example of disk or polar mesh 3d chart scichart wpf 3d chart example of cylindroid 3d mesh chart

  • The 3D FreeSurfaceRenderableSeries3Dcan be rendered in realtime as well. The Free Surface Mesh colors and palette can be udpated by supplying a MeshColorPalette.

Many mesh options are available such as Wireframe, SolidMesh, Solid with Wireframe, and many paletting options such as Solid Cells, Interpolated Cells and Textured.

Please see an example below and read documentation for  SciChart WPF Realtime 3D Geoid:

This new 3D Chart type is available to all customers of SciChart WPF SDK Professional, SDK Enterprise and 3D Professional who are in support subscription, free of charge.

WPF New Feature: Trade Annotations (Drawing tools)

With WPF v.5.2 SciChart features a rich DrawingTools API, includes new drawing tools that will allow you to easily place annotations that are widely used in financial or trading domains at your application .

Now you can add following out of the box

All the drawing tools are customarily, you may change stroke thickness, line style and colors, etc.

All new drawing tools are in the SciChart.DrawingTools.dll package and are available to all customers of SciChart WPF SDK Professional, SDK Enterprise and 2D Enterprise who are in support subscription, free of charge. 

Bug Fixes and Improvements
  • Fixed a memory leak in DirectX Renderer plugin when PointMarker changed often or new series with PointMarkers created often, cached textures for the marker were not released.
  • Updated SciChart licensing module to use FIPS compliant algorithms so that SciChart can be used in high security settings
  • Increased performance of series load by only applying Dropshadow effects to series markers and tooltips in the SciChart XAML Templates when the EffectManager.EnableDropShadows flag is set *and* the tooltip is visible
  • Fixed issue where creating MVVM AxisViewModel after SciChartSurface is loaded causes Axis.IsPrimaryAxis to be false and AxisAlignment incorrect, which resulted in blank chart
  • Added missing properties to MVVM Bindings for AxisBase3D: CursorTextFormatting, AxisTitle, VisibleRange
  • Added a property to AxisBase3D.AxisPlaneBackgroundFill which when set (default Transparent) fills in the entire axis wall in a solid colour
  • Fixed hit test and tooltip on RenderableSeries3D failing when obscured by a custom BaseSceneEntity
  • Fixed null reference if Direct3D11RenderSurface.RenderSurfaceLoaded is called after Dispose
  • Fixed a memory leak where chart was kept alive if LegendModifier was used.
  • Fixed issue with DataPointSelectionModifier, when XAxisId where set from ViewModel
  • Fixed SC-4601: DataPointSelectionModifier seems to select incorrect columns in StackedColumnsSeries
  • Fixed the issue with ZoomHistoryManager when MVVM API is used and AxisBinding is not working yet
  • Fixed SC-4543: ZoomHistoryManager does not fire RangeHistoryChanged when ClearAllHistory is called
  • Fixed the issue when ZoomHistoryManager would throw when MVVM API is used and AxisBinding had not worked yet
  • Fixed Assertion Failed. Martix stackoverflow
  • SC3D-472: Added true AntiAliasing for text objects in SciChart 3D which fixes white text edge problem
  • Fixed SC3D-473: flickering that happens when min and max values are very different by not resetting the min and max again when calculating each frame
  • Fixed SC-4633: when there is no height map texture, the waterfall was broken
  • Fixed SurfaceMeshRenderableSeries3D crashes for specific dataset
  • Ported Fix for Direct3D10RenderSurface memory leak from v4.x branch to v5.x. Required some modifications due to changes in v 5.x branch
  • Added some documentation for performance / memory leak debugging
  • Fixed an issue DoubleScaleDiscontinuousAxis would not invalidate when the DrawAxisScaleBands property changes
  • Fixed binding error in default Axis3D style (MVVM)
  • Fixed bug where last pane in SciChart Group with SciStockChart does not accept mousewheel
  • Fixed PinchZoomModifier issues
  • Fixed drawing of StackedMountains for VerticalChart
  • Fixed ExtremeResampler crash on Arabic Win10
  • Fixed IsSelected flag on PointMetadata3D not updating the chart
  • Fixed SC-4502: PointMetaData3D.Parent does not set on XyzDataSeries3D append and insert
  • Fixed cross thread violation crash when FastHeatmapRenderableSeries is instantiated in an STAThread
  • Fixed an issue when LogarithmicAxis would throw in TickProvider when used in an MVVM scenario
  • Fixed SC-4611: LogarithmicAxis and FastColumn didn’t worked correctly
  • Fixed SC-4564: AutoRange=”Always” broken for logarithmic stacked column series
  • Fixed FibonacciRetracementAnnotation when used with MVVM
  • Improved AxisBandsProvider API to be more convenient
  • Added internal TextBox property in TextAnnotation
  • Fixed 3D charts with DateTime Z axis issues
  • Added Labstylecharts 3D Chart example
  • Fixed SC-4612: CompositeAnnotations as long as Drawing Tools disappear after the export
  • Fixed SC-4465: SeriesInfo3D provides no access metadata – cannot show point metadata in tooltips
  • Fixed SC-4626: tweaked C# resamplers as well to correctly handle case when data unsorted and evenly spaced when using Auto mode
  • Fixed SC-4471: TooltipModifier doesn’t consider size of PointMarkers for ScatterSeries
  • Fixed VisibleRangeLimit when it should not clip range if VisibleRange min more then VisibleRangeLimit Max when LimitMode is min (and vice versa)
  • Added SciChartGroup.VerticalChartGroup property to SynchronizeMouseAcrossCharts.xaml
  • Fixed an issue when StackedColumns would throw when ZoomExtents called and series had not been attached yet

Where to Get SciChart WPF v5.2.0?

SciChart WPF v5.2.0 is available from:

Please ensure you uninstall the previous version(s) of SciChart before installing v5.2.0 as this can prevent some issues in the upgrade process!

GET SCICHART WPF v5.2.0

 

Best regards,
SciChart team

The post SciChart WPF v5.2.0 Released! appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.


Read more »



Jul
12
SciChart iOS /Android / Xamarin v2.2 released!
Posted by Julia Skorobogata on 12 July 2018 01:14 PM

We are really excited to announce, that SciChart iOS/ Android / Xamarin v2.2 is released! 

What’s New in SciChart iOS /Android /Xamarin v 2.2?

There is a large number of improvements and bug fixes made in SciChart iOS/ Android / Xamarin v2.2. We have made a major step forward by refactoring of our examples, fixing memory leaks, crashes, and bugs and other improvements. It is recommended for all users of SciChart v2.1 to update to the latest version! Please see more information below:

Important Changes 
  • iOS Charts have been made compatible with Xcode 10 and iOS 12 by removing deprecated libstdc++ with libc++. SciChart iOS v2.2 no longer uses this library and will work with future version(s) of iOS & Xcode.
  • Android Charts showcase demo and examples project has been updated to work with Android Studio 3.1: updated to Gradle 4.4; updated to SDK 27 ( Oreo ).
  • Android library has been updated to support library 27.1.0 and Kotlin 1.2.30
Bug Fixes:
  • Fixed hitTestAxis method which caused issues with axis tooltips values
  • SCIOS-626: fixed annotations don’t clip by axes and drawn over them.
  • SCIOS-639: fixed annotation added after chart initializing is not being rendered
  • SCIOS-640: fixed Incorrect casting from Swift.Array<Double> to SCIGeneric
  • SC-DROID-526: fixed incorrect rendering of RTL text caused by trying to reuse text layout ( it was defined it with Integer.MAX_VALUE width )
  • SC-DROID-525: fixed incorrect text rendering in heatmap ( added flipping of x and y coordinates if the chart is vertical )
  • SCIOS-624: fixed placing annotations below chart doesn’t work
  • SC-DROID-521: fixed incorrect work of sweep animation with PaletteProvided which was caused by adding new points into render pass data
  • SC-DROID-522: refactored PieSegment and PieDonutRenderableSeriesBase to correctly handle case when PieSegment changes;
  • SC-DROID-520: fixed incorrect hit test which is caused by updating xValues and yValues but not indices:
    • now render pass data remains the same and we just draw spline lines and perform hit test on original data;
    • updated spline calculations which resulted in all NaN values – added n parameter to prevent going outside renderPassData bounds if x/yValues array are larger than
    • actual renderPassData size; removed unused code from spline calculations;
    • changed SplineLineRenderableSeries: now we calculate spline coords for coordinates instead of values right before drawing for correct work of animations;
    • Added behavior options for tooltip modifiers; and added bindings.
  • Fixed: issue in legendDataSource.
  • Fixed: crash during measuring custom legend item is using a custom nib file from the main bundle.
  • Fixed: addPointsPerformance demo example
  • Fixed: crash when try using custom legend item nib file from the main bundle.
  • Fixed: getter for color in gradient brushes.
  • SC-DROID-518: fixed incorrect rendering of rects when use RenderSurface – it was caused by incorrect points index
  • Fixed: memory leak in renderableSeries base
  • Fixed broken units tests: removed usage of reflection for getting parameter names and replaced it on Mono.Cecil which allows doing the same but without loading dependencies of assembly;
  • SC-DROID-511: Fixed cursor tooltip which wasn’t shown for the second half of the last candle in series;  changed calculations in HitTestHelpers.isPointWithinXBounds() to prevent precision problems when performing hit test
  • SC-DROID-513: fixed incorrect layout of horizontal legend – added usage of HorizontalScrollView when legend has horizontal orientation
  • Fixed warning: atomic property cannot pair a synthesized setter/getter with a user-defined setter/getter
  • Fixed: color of marker view of legend item
  • Fixed: broken test by using a proper calendar in SCIDateUtil instead or using NSCalendar currentCalendar
  • Fixed: flickering of the edge labels (also hiding them sometimes)
  • Fixed: error when sometimes onVisibleRangeChanged() wasn’t called at the end of animation; added setMinMaxForced into IRange to set new Min/Max values even if they are equal to current Min/Max values + added tests
  • Fixed: non-working onVisibleRangeChange method in IViewportManager; modified unit tests;
  • Fixed: incorrect buildToolsVersion and updated SciChart dependencies to v2.1 in exported projects
  • Fixed: broken parameter names generation in Xamarin: updated path required for metadata generator;
  • SC-DROID-509: fixed incorrect drawing of pie and donut charts when there is only one segment; refactored drawing code;
  • SCIOS-622: fixed hitTest doesn’t work properly with categoryDateAxis
  • Fixed: SCIChartHeatmapColourMap while creating from xib
  • SC-DROID-503: fixed rounding error when formatting label in LabelProvider for the category axis
Improvements:
  • Added: main.storyboard and launchScreen back to the project
  • SCIOS-623:  refactoring swift examples:
    • refactored speedTesting, hitTest, zoomandPan groups;
    • refactored: styling and theaming group, axis behaviour group, ECG chart, oscilloscope chart, realtime ticking stock chart, stock chart example, multipane stock chart example, realtime chart examples, multi-series chart examples, gauge chart examples, pie and donut series, using themeManager example, and custom charts examples;
    • added common Init method to ExampleViewBase which supposed to contain commonViewINItialisation;
    • added labelProvider to columns side-by-side examples;
  • SCIOS-625:  legend changes:
    • updated Xamarin.iOS bindings and examples;
    • added property which allows dequeuing custom legend items from UICollectionView;
    • refactored updated\changed methods in dataSource;
    • added handling of legendPosition
  • Removed duplicate declaration in h file (already defined in protocol). Also named file properly
  • Added attach To and detach methods to SCIPieSegment
  • Added handling of showCheckBoxes and seriesMarkers
  • Added: SCIChartLegendHorizontalLayout which allows the legend to wrap it’s content horizontally.
  • Added: SCIChartLegendVerticalLayout which allows legend to wrap it’s content; Removed redundant code
  • Added: ctors to h file
  • Added missing ctors for SCISeriesInfo inheritors
  • SC-DROID-510: added correct handling of tooltip placement when a chart is rotated; changed SliceLayout to prevent overlapping of rollover tooltips
  • Added maxAsDouble and minAsDouble to omit conversion calls to SCIGeneric and SCIGenericDouble, even when use asDoubleRange; made asDoubleRange deprecated;
  • Updated swift demo app labelProviders according to recent changes, reverted accidentally commented out deprecated properties in tooltip modifier styles
  • Added: inMinMaxValid method into ranges
  • Added: themeId to SCIThemeColorProvider
  • Made SCIRenderableSeriesProtocol conform to SCIInvalidatableElementProtocol
  • Changed: SeriesInfo seriesColor is now of type UIColor and isn’t nil every time
  • Refactored: default ViewportManager to handle AutoRange.Always case in tryPerformAutoRange instead of onUpdateAxis; updated tests;
  • SC-DROID-480: Added ClipModeTarget which allows specifying target range which will be used for clipping in ZoomPanModifier and XAxisDragModifier; fixing typo in name of setClipModeX method in modifier builders;
  • SC-DROID-505: added correct disposing of resources for OpenGL based RenderSurface implementations; removed onSurfaceDestroyed method because it wasn’t actually called anywhere
  • Changed: default values for pie\donut charts – drawLabels and spacing
  • Reworked speedTest examples as well as modifyAxisBehaviour ones.
  • Moved missing ctors to SCIArrayController from SCIArrayControllerProtocol
  • Created view from xib files
  • SC-DROID-506: added usage of Path instead of simple drawLine to provide correct handling of dashed lines in modifiers.

Where to get iOS / Android / Xamarin v2.2?

You can get the SciChart iOS/Android/ Xamarin SDK v2.2 from the Downloads page. Source code customers can also get the latest from our Github repository as well as from Cocoapods for iOS, and Maven for Android. We also keep on delivering continuously for bug fixes, features and minor updates to the following package sources.

In addition, our example code is published to Github and is available to clone or download.

Download SciChart iOS/Android / Xamarin v 2.2

The post SciChart iOS /Android / Xamarin v2.2 released! appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.


Read more »



Jul
11
SciChart WPF v5.1.1 Build 11473 Released!
Posted by Julia Skorobogata on 11 July 2018 04:40 PM

We are pleased to announce the release of SciChart v5.1.1 Build 11473 . This is a minor update which contains a huge number of bug fixes. It is strongly advised for users of SciChart v5.x to upgrade to this version, which is a drop-in replacement. 

What’s New in SciChart WPF v5.1.1?

There are bazillions of bug fixes and improvements made in touch screen feature, resampling, heat maps, export, and many more in SciChart v5.1.1. Please read on to see what is new in version 5.1.1.

Breaking changes

Updated all C++ projects to v141 tools, latest Windows SDK. Required after build server upgrade. This is a breaking change for customers who compile from source-code. All other users unaffected.

Bug Fixes
  • Fixed: DirectX renderer bug, unfilled columns when using a logarithmic Y axis
  • Fixed: the issue in Multipane when it would crash at attempt to set negative height to a pane
  • Fixed: GetColumnWidth method in BaseColumnRenderableSeries when the PointSeries can be null
  • Fixed an issue when Xyz dataSeries go [0] values after calling [ToDiscontinuousSeries()] method
  • Fixed: GetColumnWidth method in BaseColumnRenderableSeries when it returns wrong column width for hittest when columns go not one by oneAllow Scichart2D to work on D3D Level 10.0 hardware
  • SC-4493 3D Styling Fixed: axis titles look differently than axis labels by default
  • Fixed: 3d shadow on bottom problem, adding ability to control lighting:
    • in the grid shaders, the cell color override should be done before lighting
    • add a new parameter to control lighting factor is used, default it to 0.8 as it was hardcoded in shaders
    • fix the bug in the bottom shadows test, marking the nulls with a value, and overriding the cell color to e transparent on them
    • in the palette provider example, add a slider to control lighting about, defaulting it to zero so it remains looking the same
  • Fixed: XyzDataSeries3D PointMetadata3D when it does not working for scaling or Color
  • Fixed: bug where setting ImpulseRenderableSeries3D.StrokeThickness=0 causes a NullReferenceException
  • Added: tests for DataSeries3D DataSeriesChanged event
  • Added: Flags attribute to DataSeriesAction enum
  • Fixed: updating metadata in XyzDataSeries3D
  • Fixed: OnDataSeriesChanged in BaseGridDataSeries3D
  • Fixed: 3D chart with MVVM
  • SC-4475 Fixed: YAxisDragModifier doesn’t change ZoomState on surface
  • Fixed: Lightning settings in 3D Uniform Orthogonal Heatmap Chart
  • SC-4468 Fixed: DiscontinuousDateTimeAxis Rollover Modifier Not Displaying correct Xaxis Data – fixed CoordinateCalculator
  • Fixed: adding labels to 3D chart
  • Fixed: 3D Charts Not Rendering
  • SC-4461 Fixed: XyzDataSeries3D always create a list of metadata filled with Nulls
    • add Unit tests for operation with Metadata in XyzDataSeries3D
    • add operation Insert and Remove for Metadata
  • SC-4463 Fixed: PointMetadata3D cannot change VertexColor via the property
  • SC-4464 Fixed: RenderableSeries3D DataSeriesChangedEventArgs.DataSeriesAction
  • SC-4447 Fixed: Remove unnecessary firing of SelectionChanged event in PointMetadata3D (Selection event fired 100s of times when deselecting many points in a 3D Chart).
  • Fixed: not changed _scrollBarMaXRange when SciChartScrollbar calls UpdateRange() with binding to DataRange
  • Fixed: custom modifiers not working with touch
  • SC-4552 Fixed: the extreme context must set the current buffer to last used, this will ensure the drawing order when a different buffer is used
  • SC-4552 Fixed: do not call CheckSubbmitBuffer here because it changes the expected drawing order
  • Fixed the issue when VerticalSliceModifier would crash if any other modifier set the RolloverMarkers property
  • SC-4466 Fixed: Investigate Scrollbar behavior reported by a customer
  • SC-4548 Fixed: when CategoryDateTime and CategoryNumericAxis do not react to the ZoomExtentsModifier
  • Updated PointMetadata documentation
  • Added: DragStarted and DragCompleted unsubscribes for annotation adorner markers
  • SC-4516 Fixed: TooltipModifier and StackedSeries issue
  • SC-4535 Fixed: the issue when CategoryCoordinateCalculator would not find some date values in the BaseXValues collection due to rounding errors;
  • SC-4501 Fixed: the issue when CategoryNumericAxis would have default range of (0,10)/ Changed it to (0,1) as in CategoryDateTimeAxis
  • SC-4509 Fixed: AxisDragModifier when it doesn’t set ZoomingState on Scale mode
  • SC-4474 Fixed: ZoomHistory doesn’t record the first change
  • SC-4458 Fixed: incorrect resampling results caused by how DateTime is implemented in .NET ( it’s a struct with long value but it uses 2 last bits for internal flags and the rest is used for storing Ticks );
  • SC-4497 Fixed: AxisBase.DataRange gets calculated incorrectly for StackedSeries
  • Added: DiscontinuousAxis and DoubleScaleDiscontinuousAxis obey CursorTextFormatting
  • Fixed: the issue when Cursors XAxis label on DoubleScaleDiscontinuousAxis would be formatted differently than XAxis labels
  • Improved: cursor label formatting for DoubleScaleDiscontinuousAxis
  • Fixed: The export with CustomPointMarker in v5 not working
  • Added: the Precision property; fixed a couple of issues in ColorPalette
  • Removed: unused resources from the Realtime Heatmap example
  • SC-4479 Fixed: the issue when the ExtremeScatterRenderableSeries’ markers are clipped incorrectly;
  • SC-4458 Fixed: incorrect resampling of DateTime values which was caused by internal structure of DateTime in .Net
    • added separate DateTime stuck on C++ side which applies mask to get correct Ticks value on C++ side; made some code refactoring;
    • updated code for tests to cover the new case when using dates with local time;
  • SC-4462 Fixed: Added a missing property for AxisCoreViewModel (NumericAxisViewModel missing IsStaticAxis flag)
  • Added GetSprite method to BitmapSpriteBase
  • Added: some minor template changes to DoubleScaleDiscontinuousDateTimeAxis and one more panel for common Xaxis in SciChartMultiPane template
  • Updated: minimum requirement to .NET4.5.0 for installer
  • SC-4454 Fixed: Added the ModifierSurface option to AnnotationCanvas
  • SC-4451 Fixed: “Ensure Pie/Donut chart doesn’t create Storyboards / run animation when labels aren’t shown”
    • do Animation for segment’s label if it is needed only for Donut chart
    • do Animation for segment’s label if it is needed only
  • SC-4438 Fixed: slowing chart rotation with a few series due to LegendModifier
  • Added creation of ColorMap by default
  • SC-4455 Axes for MVVM and export gets not exported
  • Fixed: Software crashing due to an exception generated in SciChart.Drawing.DirectX
  • Fixed: Contours 2D example to fit the DirectX Contouring mechanism
  • Added GetSprite method to BitmapSpriteBase
  • SC-4421 Fixed: DiscontinuousAxis range issue for GetClosestDateToSmaller if baseDate is in the end of the day.
  • SC-4449 Fixed: Contours 2D example – add an option to hide heatmap
  • SC-4436 Fixed: issue Stacked Column chart v5.1.0 missing one column
  • SC-4448 Fixed: DateTimeAxisViewModel does not fire VisibleRangeChanged event
  • Fixed the issue when DiscontinuousDateTimeAxis would break bindings to the calendar (#1309)
  • SC-3962 Fixed: Export to XPS fails from Dev Mode toolbar in v4.2.2
  • Fixed: the property name in binding for Axis MVVM
  • Fixed: RolloverModifier behavior on column series when it isn’t within data bounds
  • SC-4446 Fixed: Issue when VerticalLineAnnotationMVVM + styleKey causes exception
  • SC-4443 Fixed: ScatterSeries (PointMarker) regression – points appear not filled
  • Fixed: the issue of crashing scichart when using float type for data (throwing ArgumentException)
  • Fixed: the type of hitTestInfo.Y1Value.
  • Fixed: the issue of crashing scichart when using float type for data
  • SC-4433 Fixed: When UseInterpolation=True and tooltipmodifier, the PointMetadata index is always previous, not nearest- added checking if seriesInfo has appropriate Metadata
  • SC-4442 Fixed: Zoomhistory(TimeSpan animation duration) causes exception
  • SC-4439 Fixed: When SelectedPolintMarker set in MVVM, all data-points disappear
  • Fixed: NullReferenceException for GrowBy in some series viewmodel types
  • Fixed: bug in CategoryDateTimeAxisViewModel with wrong ViewType
  • SC-4440 Fixed: When Annotations MVVM labels do not display
  • Added: new Properties for AxisCoreViewModel and some default values
  • Fixed: an Exception while adding Axis via MVVM
  • Fixed: error in CustomTooltipsWithModifiers example where AxisLabelStyle is applied to CursorModifier not Axis
  • Added AxisPanelStyle to AxisBase.
  • Added DefaultStyleKey to AxisPanel
  • SC-4432 Fixed: StrokeDashArray does not work on Axis gridlines when DirectX11 renderer used
  • Fixed: the problem with adding and removing StackedColumnRenderable Series using MVVM

Where to Get SciChart WPF v5.1.1?

SciChart WPF v5.1.1.11473 is available from:

Please ensure you uninstall the previous version(s) of SciChart before installing v5.1.1 as this can prevent some issues in the upgrade process!

GET SCICHART WPF v5.1.1

 

Best regards,
SciChart team

The post SciChart WPF v5.1.1 Build 11473 Released! appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.


Read more »



Apr
5
SciChart WPF Pricing Plan Changes
Posted by Julia Skorobogata on 05 April 2018 01:04 PM

SciChart WPF Pricing Plan Changes

SciChart WPF is now entering its sixth year since the first version was published! During that time we have gone from a small one-person company to a team of over ten developers, lovingly crafting, maintaining and delivering High Performance WPF Chart components, actively used by thousands of customers around the world!

The SciChart WPF Chart controls that you see now are more advanced than we ever thought we would create, and we are still developing and adding features, fixing bugs, supporting and maintaining this successful product.

Furthermore, we have always strived to maintain excellent tech support. It’s not always possible (we do have our failings from time to time) but overall customers rate us as excellent on tech support. We care about the products that we make and want users to have a good experience using them.

In light of this, we have resisted changing pricing as long as possible, however we feel at SciChart that we have to make a small change to our pricing model in order to maintain the excellent level of service that we provide. This change is to raise the price of SciChart WPF 2D Professional only, keeping all other products the same.

An overview of Pricing Changes

The pricing of SciChart is currently as follows:

  • WPF 2D Pro: $899
  • WPF 3D Pro: $999
  • WPF 2D Enterprise: $1499
  • WPF SDK Pro: $1749
  • WPF SDK Enterprise: $2549

We propose to change the pricing of SciChart WPF 2D Professional only, raising it from $899 USD to $1090 USD per developer license with 1-year support and updates.
The price of renewals placed will also be raised, from $449.50 to $545 per developer license with 1-year support and updates.
The cost of all other products will remain the same.
The cost of the no-support options of SciChart WPF will remain the same.

When will the pricing Changes come into effect?

This pricing change will come into effect on May 1st 2018. Any orders placed after this date will reflect the new pricing.

Will there be other pricing changes?

We cannot rule out further pricing changes, but we have no intention to change any of our other pricing at this time.

To beat the price rise!

You can beat the price rises if you were intending to purchase or renew SciChart WPF 2D Pro by:

  • Purchase a 1-year, 2-year, 3-year or lifetime support license before May 1st and you will get the current lower pricing.
  • Renew an existing SciChart WPF 2D Professional licenses now with a 1-year, 2-year, 3-year or lifetime renewal before May 1st and you will lock in the current pricing (until your renewal is next due).

For Sales Enquries

Please contact us at sales [at] scichart.com. We will do our best to answer any questions you have and process orders quickly if you wish to place them before the deadline.

Contact Sales

Best regards,
SciChart team

The post SciChart WPF Pricing Plan Changes appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.


Read more »




CONTACT US

Not sure where to start? Contact us, we are happy to help!


CONTACT US

SciChart Ltd, 16 Beaufort Court, Admirals Way, Docklands, London, E14 9XL. Email: Legal Company Number: 07430048, VAT Number: 101957725