Beispiel #1
0
        public void Unregister(ISourceProxyFactory factory)
        {
            if (factory == null)
            {
                return;
            }

            this.factories.RemoveAll(pair => pair.factory == factory);
        }
Beispiel #2
0
        public void Register(ISourceProxyFactory factory, int priority = 100)
        {
            if (factory == null)
            {
                return;
            }

            this.factories.Add(new PriorityFactoryPair(factory, priority));
            this.factories.Sort((x, y) => y.priority.CompareTo(x.priority));
        }
Beispiel #3
0
        public Binding(IBindingContext bindingContext, object dataContext, object target, BindingDescription bindingDescription, ISourceProxyFactory sourceProxyFactory, ITargetProxyFactory targetProxyFactory)
            : base(bindingContext, dataContext, target)
        {
            this.bindingDescription = bindingDescription;
            this.sourceProxyFactory = sourceProxyFactory;
            this.targetProxyFactory = targetProxyFactory;

            this.CreateTargetProxy(target, this.bindingDescription);
            this.CreateSourceProxy(this.DataContext, this.bindingDescription.Source);
            this.UpdateDataOnBind();
        }
Beispiel #4
0
        public Binding(object source, object target, BindingDescription bindingDescription, ISourceProxyFactory sourceProxyFactory, ITargetProxyFactory targetProxyFactory) : base(source, target)
        {
            this.bindingDescription = bindingDescription;

            this.converter          = bindingDescription.Converter;
            this.sourceProxyFactory = sourceProxyFactory;
            this.targetProxyFactory = targetProxyFactory;

            this.CreateTargetProxy(this.Target, this.bindingDescription);
            this.CreateSourceProxy(this.DataContext, this.bindingDescription.Source);
            this.UpdateDataOnBind();
        }
        protected override void OnStart(IServiceContainer container)
        {
            base.OnStart(container);

            /* Support XLua */
            INodeProxyFactoryRegister objectSourceProxyFactoryRegistry = container.Resolve <INodeProxyFactoryRegister>();

            objectSourceProxyFactoryRegistry.Register(new LuaNodeProxyFactory(), 20);

            IPathParser                 pathParser                 = container.Resolve <IPathParser>();
            ISourceProxyFactory         sourceFactoryService       = container.Resolve <ISourceProxyFactory>();
            ISourceProxyFactoryRegistry sourceProxyFactoryRegistry = container.Resolve <ISourceProxyFactoryRegistry>();

            sourceProxyFactoryRegistry.Register(new LuaExpressionSourceProxyFactory(sourceFactoryService, pathParser), 20);

            ITargetProxyFactoryRegister targetProxyFactoryRegister = container.Resolve <ITargetProxyFactoryRegister>();

            targetProxyFactoryRegister.Register(new LuaTargetProxyFactory(), 30);
        }
 public ExpressionSourceProxyFactory(ISourceProxyFactory factory, IExpressionPathFinder pathFinder)
 {
     this.factory    = factory;
     this.pathFinder = pathFinder;
 }
Beispiel #7
0
 public PriorityFactoryPair(ISourceProxyFactory factory, int priority)
 {
     this.factory  = factory;
     this.priority = priority;
 }
Beispiel #8
0
 public BindingFactory(ISourceProxyFactory sourceProxyFactory, ITargetProxyFactory targetProxyFactory)
 {
     this.sourceProxyFactory = sourceProxyFactory;
     this.targetProxyFactory = targetProxyFactory;
 }
Beispiel #9
0
 public LuaExpressionSourceProxyFactory(ISourceProxyFactory factory, IPathParser pathParser)
 {
     this.factory    = factory;
     this.pathParser = pathParser;
 }