public void AppendToBottom(IEnumerable <TData> set) { if (ReferenceEquals(null, set)) { return; } if (_currentBindRequest is BindNextRequest) { _currentBindRequest.Merge(set); } var link = _window.Count > 0 ? _bindings.FindFromTail(_window.Last.Value.LinkedData) : _bindings.First; while (!ReferenceEquals(null, link)) { TryAppendToWindowBottom(link.Value); link = link.Next; } // обнуляется он только когда есть запас записей _currentBindRequest = _bindings.ContainsFromTail(_preBoundaryThreshold, _window.Last.Value.LinkedData) ? _currentBindRequest : null; UnityEngine.Debug.Log( _bindings.ToText( string.Format( "<color=magenta>BINDINGS now are with request: {0}</color>", _currentBindRequest == null ? "null" : _currentBindRequest.GetType().NameNice()))); }
protected override void beforeEach() { var repo = new MockRepository(); _bindings = new List <ITemplate>(); _bindings.AddRange(Enumerable.Range(1, 5).Select(x => repo.DynamicMock <ITemplate>())); _logger = MockFor <ISparkLogger>(); _sharedTemplateLocator = MockFor <ISharedTemplateLocator>(); _template = MockFor <ITemplate>(); _template.Stub(x => x.Descriptor).PropertyBehavior(); _template.Stub(x => x.FilePath).Return("Fubu.spark"); _template.Stub(x => x.RootPath).Return("/App/Views"); _template.Stub(x => x.Origin).Return("Host"); _template.Descriptor = new ViewDescriptor(_template); ClassUnderTest.BindingsName = "bindings"; _request = new BindRequest { TemplateRegistry = new TemplateRegistry(new[] { _template }.Union(_bindings)), Target = _template, ViewModelType = typeof(ProductModel).FullName, Logger = _logger, }; _sharedTemplateLocator .Expect(x => x.LocateBindings(ClassUnderTest.BindingsName, _template, _request.TemplateRegistry)) .Return(_bindings); _logger .Expect(x => x.Log(Arg.Is(_template), Arg <string> .Is.Anything, Arg <string> .Is.Anything)) .Repeat.Times(_bindings.Count); }
public void Bind(IBindRequest request) { var logger = request.Logger; var template = request.Target; var descriptor = template.Descriptor.As <ViewDescriptor>(); var types = request.Types.TypesWithFullName(request.ViewModelType); var typeCount = types.Count(); if (typeCount == 1) { descriptor.ViewModel = types.First(); logger.Log(template, "View model type is : [{0}]", descriptor.ViewModel); return; } logger.Log(template, "Unable to set view model type : {0}", request.ViewModelType); if (typeCount > 1) { var candidates = types.Select(x => x.AssemblyQualifiedName).Join(", "); logger.Log(template, "Type ambiguity on: {0}", candidates); } }
public bool CanBind(IBindRequest <T> request) { var descriptor = request.Target.Descriptor as ViewDescriptor <T>; return(descriptor != null && !descriptor.HasViewModel() && request.Parsing.ViewModelType.IsNotEmpty() && GenericParser.IsGeneric(request.Parsing.ViewModelType)); }
public bool CanBind(IBindRequest request) { var descriptor = request.Target.Descriptor as ViewDescriptor; return(descriptor != null && !descriptor.HasViewModel() && !request.Target.IsPartial() && request.ViewModelType.IsNotEmpty() && GenericParser.IsGeneric(request.ViewModelType) == false); }
public bool CanBind(IBindRequest request) { var descriptor = request.Target.Descriptor as ViewDescriptor; return(descriptor != null && descriptor.Master == null && (request.ViewModelType.IsNotEmpty() || request.Master.IsNotEmpty()) && !request.Target.IsPartial() && request.Master != string.Empty); }
public void ShiftWindowDown() { // попадает ли хвост в диапазон и отправлен ли запрос if (!(_currentBindRequest is BindNextRequest) && _bindings.ContainsFromTail(_preBoundaryThreshold, _window.Last.Value.LinkedData)) { _currentBindRequest = new BindNextRequest(this); _currentBindRequest.Execute(); } var next = _bindings.Find(_window.Last.Value.LinkedData).Next; // while scrolling up (moving down) if (next == null) { var measureCutting = new Straight { Direction = GrowDirection }; VectorGeneric2 firstIntersection; VectorGeneric2 lastIntersection; VectorGeneric2 boundIntersection; _window.First.Value.RectTransform.GetIntersectionInParentSpace(measureCutting, out firstIntersection); _window.Last.Value.RectTransform.GetIntersectionInParentSpace(measureCutting, out lastIntersection); RectTransform.GetIntersectionInLocalSpace(measureCutting, out boundIntersection); if (boundIntersection.Direction.sqrMagnitude < (lastIntersection.Target - firstIntersection.Origin).sqrMagnitude) { CarrierFactory.SetBumperCoDirection(this); } else { CarrierFactory.SetBumperCounterDirection(this); } return; } _itemFactory.Put(_window.First.Value); _window.RemoveFirst(); var cutting = new Straight { Direction = GrowDirection, }; VectorGeneric2 intersection; var item = _itemFactory.Get(next.Value); // TODO: one record cause en error here _window.Last.Value.RectTransform.GetIntersectionInParentSpace(cutting, out intersection); _window.AddLast(item); item.RectTransform.anchoredPosition = intersection.Target; if (ReferenceEquals(item.LinkedData, _bindings.Last.Value)) { OnCoDirectionBoundReach(); } }
public bool CanBind(IBindRequest request) { var descriptor = request.Target.Descriptor as ViewDescriptor; var parsing = request.Parsing; return descriptor != null && !descriptor.HasViewModel() && !request.Target.IsPartial() && parsing.ViewModelType.IsNotEmpty() && GenericParser.IsGeneric(parsing.ViewModelType) == false; }
public bool CanBind(IBindRequest request) { var descriptor = request.Target.Descriptor as ViewDescriptor; var parsing = request.Parsing; return(descriptor != null && !descriptor.HasViewModel() && !request.Target.IsPartial() && parsing.ViewModelType.IsNotEmpty() && GenericParser.IsGeneric(parsing.ViewModelType)); }
public void Bind(IBindRequest request) { var target = request.Target; var logger = request.Logger; var templates = request.TemplateRegistry; var descriptor = target.Descriptor.As <ViewDescriptor>(); var bindings = _sharedTemplateLocator.LocateBindings(BindingsName, target, templates); bindings.Each(template => { descriptor.AddBinding(template); logger.Log(target, "Binding attached : {0}", template.FilePath); }); }
public void Bind(IBindRequest request) { var template = request.Target; var tracer = request.Logger; var masterName = request.Master ?? MasterName; var master = _sharedTemplateLocator.LocateMaster(masterName, template, request.TemplateRegistry); if (master == null) { tracer.Log(template, "Expected master page [{0}] not found.", masterName); return; } template.Descriptor.As <ViewDescriptor>().Master = master; tracer.Log(template, "Master page [{0}] found at {1}", masterName, master.FilePath); }
public void Bind(IBindRequest request) { var logger = request.Logger; var template = request.Target; var genericParser = new GenericParser(request.Types.Assemblies); var viewModel = genericParser.Parse(request.Parsing.ViewModelType); if (viewModel != null) { var descriptor = template.Descriptor.As<ViewDescriptor>(); descriptor.ViewModel = viewModel; logger.Log(template, "Generic view model type is : {0}", descriptor.ViewModel); return; } genericParser.ParseErrors.Each(error => logger.Log(template, error)); }
public void Bind(IBindRequest request) { var logger = request.Logger; var template = request.Target; var genericParser = new GenericParser(request.Types.Assemblies); var viewModel = genericParser.Parse(request.Parsing.ViewModelType); if (viewModel != null) { var descriptor = template.Descriptor.As <ViewDescriptor>(); descriptor.ViewModel = viewModel; logger.Log(template, "Generic view model type is : {0}", descriptor.ViewModel); return; } genericParser.ParseErrors.Each(error => logger.Log(template, error)); }
public bool CanBind(IBindRequest request) { return request.Target.Descriptor is ViewDescriptor && request.ViewModelType.IsNotEmpty(); }
public void Bind(IBindRequest <IRazorTemplate> request) { Action.Do(request); }
public bool CanBind(IBindRequest <IRazorTemplate> request) { return(Filter.MatchesAny(request)); }
public bool CanBind(IBindRequest request) { return request.Target.Descriptor is ViewDescriptor; }
public bool CanBind(IBindRequest request) { var template = request.Target; return template.IsSparkView() && !template.IsPartial(); }
public void Bind(IBindRequest request) { var logger = request.Logger; var template = request.Target; var descriptor = template.Descriptor.As<ViewDescriptor>(); var types = request.Types.TypesWithFullName(request.Parsing.ViewModelType); var typeCount = types.Count(); if (typeCount == 1) { descriptor.ViewModel = types.First(); logger.Log(template, "View model type is : [{0}]", descriptor.ViewModel); return; } logger.Log(template, "Unable to set view model type : {0}", request.Parsing.ViewModelType); if (typeCount > 1) { var candidates = types.Select(x => x.AssemblyQualifiedName).Join(", "); logger.Log(template, "Type ambiguity on: {0}", candidates); } }
public bool CanBind(IBindRequest request) { return(request.Target.Descriptor is ViewDescriptor && request.ViewModelType.IsNotEmpty()); }
public bool CanBind(IBindRequest <T> request) { var template = request.Target; return(!(template.Descriptor is ViewDescriptor <T>) && _templateSelector.IsAppropriate(template)); }
public void Bind(IBindRequest <ITemplate> request) { request.Target.Descriptor = new SparkDescriptor(request.Target); }
public bool CanBind(IBindRequest request) { return(Filter.MatchesAny(request)); }
public bool CanBind(IBindRequest request) { var template = request.Target; return(template.IsSparkView() && !template.IsPartial()); }
public bool CanBind(IBindRequest request) { return(request.Target.Descriptor is ViewDescriptor); }
public void Bind(IBindRequest request) { var template = request.Target; var tracer = request.Logger; var masterName = request.Master ?? MasterName; var master = _sharedTemplateLocator.LocateMaster(masterName, template, request.TemplateRegistry); if (master == null) { tracer.Log(template, "Expected master page [{0}] not found.", masterName); return; } template.Descriptor.As<ViewDescriptor>().Master = master; tracer.Log(template, "Master page [{0}] found at {1}", masterName, master.FilePath); }
public bool CanBind(IBindRequest request) { var descriptor = request.Target.Descriptor as ViewDescriptor; return descriptor != null && !descriptor.HasViewModel() && !request.Target.IsPartial() && request.ViewModelType.IsNotEmpty() && GenericParser.IsGeneric(request.ViewModelType); }
public bool CanBind(IBindRequest request) { var descriptor = request.Target.Descriptor as ViewDescriptor; return(descriptor != null && descriptor.Bindings.Count() == 0); }
public bool CanBind(IBindRequest request) { var descriptor = request.Target.Descriptor as ViewDescriptor; return descriptor != null && descriptor.Master == null && (request.ViewModelType.IsNotEmpty() || request.Master.IsNotEmpty()) && !request.Target.IsPartial() && request.Master != string.Empty; }
public bool CanBind(IBindRequest request) { var descriptor = request.Target.Descriptor as ViewDescriptor; return descriptor != null && !descriptor.HasViewModel() && request.ViewModelType.IsNotEmpty(); }
public void Bind(IBindRequest request) { var target = request.Target; var logger = request.Logger; var templates = request.TemplateRegistry; var descriptor = target.Descriptor.As<ViewDescriptor>(); var bindings = _sharedTemplateLocator.LocateBindings(BindingsName, target, templates); bindings.Each(template => { descriptor.AddBinding(template); logger.Log(target, "Binding attached : {0}", template.FilePath); }); }
public bool CanBind(IBindRequest request) { var descriptor = request.Target.Descriptor as ViewDescriptor; return descriptor != null && descriptor.Bindings.Count() == 0; }
public void Bind(IBindRequest request) { request.Target.Descriptor = new ViewDescriptor(request.Target); }
public bool CanBind(IBindRequest request) { var template = request.Target; return !(template.Descriptor is ViewDescriptor) && template.IsSparkView(); }
public bool CanBind(IBindRequest <ITemplate> request) { var template = request.Target; return(!(template.Descriptor is SparkDescriptor) && template.IsSparkView()); }
public void Bind(IBindRequest request) { Action.Do(request); }
protected void SetWindow(int thresholdSize) { _preBoundaryThreshold = thresholdSize; _currentBindRequest = new BindNextRequest(this); }