示例#1
0
        internal object PublishClone(AutomaticSubtotalContext context)
        {
            IndicatorState indicatorState = (IndicatorState)MemberwiseClone();

            indicatorState.m_gaugePanel = (GaugePanel)context.CurrentDataRegionClone;
            if (m_startValue != null)
            {
                indicatorState.m_startValue = (GaugeInputValue)m_startValue.PublishClone(context);
            }
            if (m_endValue != null)
            {
                indicatorState.m_endValue = (GaugeInputValue)m_endValue.PublishClone(context);
            }
            if (m_color != null)
            {
                indicatorState.m_color = (ExpressionInfo)m_color.PublishClone(context);
            }
            if (m_scaleFactor != null)
            {
                indicatorState.m_scaleFactor = (ExpressionInfo)m_scaleFactor.PublishClone(context);
            }
            if (m_indicatorStyle != null)
            {
                indicatorState.m_indicatorStyle = (ExpressionInfo)m_indicatorStyle.PublishClone(context);
            }
            if (m_indicatorImage != null)
            {
                indicatorState.m_indicatorImage = (IndicatorImage)m_indicatorImage.PublishClone(context);
            }
            return(indicatorState);
        }
        internal override object PublishClone(AutomaticSubtotalContext context)
        {
            StateIndicator stateIndicator = (StateIndicator)base.PublishClone(context);

            if (m_gaugeInputValue != null)
            {
                stateIndicator.m_gaugeInputValue = (GaugeInputValue)m_gaugeInputValue.PublishClone(context);
            }
            if (m_transformationType != null)
            {
                stateIndicator.m_transformationType = (ExpressionInfo)m_transformationType.PublishClone(context);
            }
            if (m_maximumValue != null)
            {
                stateIndicator.m_maximumValue = (GaugeInputValue)m_maximumValue.PublishClone(context);
            }
            if (m_minimumValue != null)
            {
                stateIndicator.m_minimumValue = (GaugeInputValue)m_minimumValue.PublishClone(context);
            }
            if (m_indicatorStyle != null)
            {
                stateIndicator.m_indicatorStyle = (ExpressionInfo)m_indicatorStyle.PublishClone(context);
            }
            if (m_indicatorImage != null)
            {
                stateIndicator.m_indicatorImage = (IndicatorImage)m_indicatorImage.PublishClone(context);
            }
            if (m_scaleFactor != null)
            {
                stateIndicator.m_scaleFactor = (ExpressionInfo)m_scaleFactor.PublishClone(context);
            }
            if (m_indicatorStates != null)
            {
                stateIndicator.m_indicatorStates = new List <IndicatorState>(m_indicatorStates.Count);
                foreach (IndicatorState indicatorState in m_indicatorStates)
                {
                    stateIndicator.m_indicatorStates.Add((IndicatorState)indicatorState.PublishClone(context));
                }
            }
            if (m_resizeMode != null)
            {
                stateIndicator.m_resizeMode = (ExpressionInfo)m_resizeMode.PublishClone(context);
            }
            if (m_angle != null)
            {
                stateIndicator.m_angle = (ExpressionInfo)m_angle.PublishClone(context);
            }
            return(stateIndicator);
        }