예제 #1
0
        public override IModifier Clone(int cloneFlags = 0)
        {
            var m = new StorableModifier();

            CopyTo(m, cloneFlags);
            return(m);
        }
예제 #2
0
        public override void AddToUI(IModifier m)
        {
            modifier_ = m as StorableModifier;
            if (modifier_ == null)
            {
                return;
            }

            var p = modifier_?.Parameter;

            if (p == null)
            {
                parameterUI_ = null;
            }
            else
            {
                if (parameterUI_ == null ||
                    parameterUI_.ParameterType != p.GetFactoryTypeName())
                {
                    parameterUI_ = CreateParameterMonitorUI(p);
                }
            }

            if (parameterUI_ != null)
            {
                parameterUI_.AddToUI(p);
                widgets_.AddToUI(new SmallSpacer(Widget.Right));
            }

            base.AddToUI(m);
        }
예제 #3
0
        public override void AddToTopUI(IModifier m)
        {
            modifier_ = m as StorableModifier;
            if (modifier_ == null)
            {
                return;
            }

            var p = modifier_?.Parameter;

            if (p == null)
            {
                parameterUI_ = null;
            }
            else
            {
                if (parameterUI_ == null ||
                    parameterUI_.ParameterType != p.GetFactoryTypeName())
                {
                    parameterUI_ = CreateParameterUI(p);
                }
            }


            AddAtomWidgets(m);

            widgets_.AddToUI(types_);
            storableWidgets_.AddToUI(modifier_.Holder);

            if (parameterUI_ != null)
            {
                widgets_.AddToUI(new SmallSpacer(Widget.Right));
                parameterUI_.AddToUI(p);
            }

            AddAtomWithMovementWidgets(m);

            base.AddToTopUI(m);
        }
예제 #4
0
 private void CopyTo(StorableModifier m, int cloneFlags)
 {
     base.CopyTo(m, cloneFlags);
     m.holder_ = holder_.Clone(cloneFlags);
 }