object ICloneable.Clone()
        {
            var result = new BarSizePosition2DGroupStyle();

            result.CopyFrom(this);
            return(result);
        }
        public BarSizePosition2DGroupStyle Clone()
        {
            var result = new BarSizePosition2DGroupStyle();

            result.CopyFrom(this);
            return(result);
        }
 /// <summary>
 /// Adds a local BarWidthPositionGroupStyle in case there is no external one. In this case also BeginPrepare is called on
 /// this newly created group style.
 /// </summary>
 /// <param name="externalGroups">Collection of external plot group styles.</param>
 /// <param name="localGroups">Collection of plot group styles of the plot item.</param>
 public static void AddLocalGroupStyle(
     IPlotGroupStyleCollection externalGroups,
     IPlotGroupStyleCollection localGroups)
 {
     if (PlotGroupStyle.ShouldAddLocalGroupStyle(externalGroups, localGroups, typeof(BarSizePosition2DGroupStyle)))
     {
         var styleToAdd = new BarSizePosition2DGroupStyle();
         localGroups.Add(styleToAdd);
     }
 }
 public static void AddExternalGroupStyle(IPlotGroupStyleCollection externalGroups)
 {
     if (PlotGroupStyle.ShouldAddExternalGroupStyle(externalGroups, typeof(BarSizePosition2DGroupStyle)))
     {
         var gstyle = new BarSizePosition2DGroupStyle
         {
             IsStepEnabled = true
         };
         externalGroups.Add(gstyle);
     }
 }
        private void CopyFrom(BarSizePosition2DGroupStyle from)
        {
            if (object.ReferenceEquals(this, from))
            {
                return;
            }

            _isStepEnabled = from._isStepEnabled;

            _relInnerGapX = from._relInnerGapX;
            _relOuterGapX = from._relOuterGapX;

            _logicalClusterSizeX = from._logicalClusterSizeX;
            _logicalItemSizeX    = from._logicalItemSizeX;
            _logicalItemOffsetX  = from._logicalItemOffsetX;
        }
		/// <summary>
		/// Adds a local BarWidthPositionGroupStyle in case there is no external one. In this case also BeginPrepare is called on
		/// this newly created group style.
		/// </summary>
		/// <param name="externalGroups">Collection of external plot group styles.</param>
		/// <param name="localGroups">Collection of plot group styles of the plot item.</param>
		public static void AddLocalGroupStyle(
		 IPlotGroupStyleCollection externalGroups,
		 IPlotGroupStyleCollection localGroups)
		{
			if (PlotGroupStyle.ShouldAddLocalGroupStyle(externalGroups, localGroups, typeof(BarSizePosition2DGroupStyle)))
			{
				var styleToAdd = new BarSizePosition2DGroupStyle();
				localGroups.Add(styleToAdd);
			}
		}
		public static void AddExternalGroupStyle(IPlotGroupStyleCollection externalGroups)
		{
			if (PlotGroupStyle.ShouldAddExternalGroupStyle(externalGroups, typeof(BarSizePosition2DGroupStyle)))
			{
				BarSizePosition2DGroupStyle gstyle = new BarSizePosition2DGroupStyle();
				gstyle.IsStepEnabled = true;
				externalGroups.Add(gstyle);
			}
		}
		object ICloneable.Clone()
		{
			BarSizePosition2DGroupStyle result = new BarSizePosition2DGroupStyle();
			result.CopyFrom(this);
			return result;
		}
		public BarSizePosition2DGroupStyle Clone()
		{
			BarSizePosition2DGroupStyle result = new BarSizePosition2DGroupStyle();
			result.CopyFrom(this);
			return result;
		}
		private void CopyFrom(BarSizePosition2DGroupStyle from)
		{
			if (object.ReferenceEquals(this, from))
				return;

			_isStepEnabled = from._isStepEnabled;

			_relInnerGapX = from._relInnerGapX;
			_relOuterGapX = from._relOuterGapX;

			_logicalClusterSizeX = from._logicalClusterSizeX;
			_logicalItemSizeX = from._logicalItemSizeX;
			_logicalItemOffsetX = from._logicalItemOffsetX;
		}