//The MIT License(MIT) //Copyright(c) 2016 Alberto Rodriguez & LiveCharts Contributors //Permission is hereby granted, free of charge, to any person obtaining a copy //of this software and associated documentation files (the "Software"), to deal //in the Software without restriction, including without limitation the rights //to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //copies of the Software, and to permit persons to whom the Software is //furnished to do so, subject to the following conditions: //The above copyright notice and this permission notice shall be included in all //copies or substantial portions of the Software. //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //SOFTWARE. using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Windows.Forms.Integration; using System.Windows.Media; using LiveCharts.Maps; namespace LiveCharts.WinForms { /// /// /// /// [Designer("System.Windows.Forms.Design.ControlDesigner, System.Design")] [DesignerSerializer("System.ComponentModel.Design.Serialization.TypeCodeDomSerializer , System.Design", "System.ComponentModel.Design.Serialization.CodeDomSerializer, System.Design")] public class GeoMap : ElementHost { /// /// The WPF base /// protected readonly Wpf.GeoMap WpfBase = new Wpf.GeoMap(); /// /// Initializes a new instance of the class. /// public GeoMap() { Child = WpfBase; //workaround for windows 7 focus issue //https://github.com/beto-rodriguez/Live-Charts/issues/515 HostContainer.MouseEnter += (sender, args) => { Focus(); }; WpfBase.LandClick += (o, point) => { if (LandClick != null) LandClick.Invoke(o, point); }; } /// /// Occurs when [land click]. /// public event Action LandClick; /// /// Gets the base. /// /// /// The base. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public Wpf.GeoMap Base { get { return WpfBase; } } /// /// Gets or sets the language pack. /// /// /// The language pack. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public Dictionary LanguagePack { get { return WpfBase.LanguagePack; } set { WpfBase.LanguagePack = value; } } /// /// Gets or sets the default land fill. /// /// /// The default land fill. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public Brush DefaultLandFill { get { return WpfBase.DefaultLandFill; } set { WpfBase.DefaultLandFill = value; } } /// /// Gets or sets the land stroke thickness. /// /// /// The land stroke thickness. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public double LandStrokeThickness { get { return WpfBase.LandStrokeThickness; } set { WpfBase.LandStrokeThickness = value; } } /// /// Gets or sets the land stroke. /// /// /// The land stroke. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public Brush LandStroke { get { return WpfBase.LandStroke; } set { WpfBase.LandStroke = value; } } /// /// Gets or sets a value indicating whether [disable animations]. /// /// /// true if [disable animations]; otherwise, false. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public bool DisableAnimations { get { return WpfBase.DisableAnimations; } set { WpfBase.DisableAnimations = value; } } /// /// Gets or sets the animations speed. /// /// /// The animations speed. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public TimeSpan AnimationsSpeed { get { return WpfBase.AnimationsSpeed; } set { WpfBase.AnimationsSpeed = value; } } /// /// Gets or sets a value indicating whether this is hoverable. /// /// /// true if hoverable; otherwise, false. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public bool Hoverable { get { return WpfBase.Hoverable; } set { WpfBase.Hoverable = value; } } /// /// Gets or sets the heat map. /// /// /// The heat map. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public Dictionary HeatMap { get { return WpfBase.HeatMap; } set { WpfBase.HeatMap = value; } } /// /// Gets or sets the gradient stop collection. /// /// /// The gradient stop collection. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public GradientStopCollection GradientStopCollection { get { return WpfBase.GradientStopCollection; } set { WpfBase.GradientStopCollection = value; } } /// /// Gets or sets the source. /// /// /// The source. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public string Source { get { return WpfBase.Source; } set { WpfBase.Source = value; } } /// /// Gets or sets a value indicating whether [enable zooming and panning]. /// /// /// true if [enable zooming and panning]; otherwise, false. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public bool EnableZoomingAndPanning { get { return WpfBase.EnableZoomingAndPanning; } set { WpfBase.EnableZoomingAndPanning = value; } } } }