protected virtual SwCustomProperty CreatePropertyInstance(CustomPropertyManager prpMgr, string name, bool isCreated)
        {
            var prp = new SwCustomProperty(prpMgr, name, isCreated, m_Doc.App);

            prp.SetEventsHandler(CreateEventsHandler(prp));
            return(prp);
        }
        protected override SwCustomProperty CreatePropertyInstance(CustomPropertyManager prpMgr, string name, bool isCreated)
        {
            var prp = new SwCustomProperty(prpMgr, name, isCreated, m_App);

            InitProperty(prp);
            return(prp);
        }
        protected override EventsHandler <PropertyValueChangedDelegate> CreateEventsHandler(SwCustomProperty prp)
        {
            var isBugPresent = true; //TODO: find version when the issue is starter

            EventsHandler <PropertyValueChangedDelegate> evHandler = null;

            if (isBugPresent)
            {
                evHandler = new CustomPropertyChangeEventsHandlerFromSw2017(m_EventsHelper, m_Doc.Model, prp, m_ConfName);
            }
            else
            {
                evHandler = new CustomPropertyChangeEventsHandler(m_Doc.Model, prp, m_ConfName);
            }

            m_EventsHandlers.Add(evHandler);

            return(evHandler);
        }
 protected abstract EventsHandler <PropertyValueChangedDelegate> CreateEventsHandler(SwCustomProperty prp);
 protected void InitProperty(SwCustomProperty prp)
 {
     prp.SetEventsHandler(CreateEventsHandler(prp));
 }