/// <summary> /// Consrutor parametrizado. /// </summary> /// <param name="controller"></param> /// <param name="data"></param> /// <param name="selected"></param> public Item(Colosoft.Business.IEntity controller, TBusiness data, Colosoft.Collections.IObservableCollection <TBusiness> selected) { _controller = controller; _data = data; _selected = selected; _selected.CollectionChanged += SelectedChanged; }
/// <summary> /// Construtor parametrizado. /// </summary> /// <param name="controller">Controlador da coleção</param> /// <param name="data">Item filho.</param> /// <param name="selected">Lista de itens filhos associados ao pai.</param> /// <param name="createCall">Método de criação de entidades de relaciomento entre pai e um filho.</param> /// <param name="compareCall">Método de comparação que indica se um relacionamento se refere ao filho passado como parâmetro.</param> public ProxyListItemBase(IEntity controller, TBusiness data, Colosoft.Collections.IObservableCollection <TPointer> selected, Func <TBusiness, TPointer> createCall, Func <TBusiness, TPointer, bool> compareCall) { _controller = controller; _data = data; _selected = selected; _create = createCall; _compare = compareCall; _selected.CollectionChanged += SelectedChanged; }
/// <summary> /// Contrutor parameterizado. /// </summary> /// <param name="items">Os itens filhos.</param> /// <param name="selected">A lista dos relacionamentos entre pais e filhos.</param> /// <param name="createCall">Chamada de criação de relacionamento entre pai e um filho.</param> /// <param name="compareCall">Comparação que indica se um relacionamento se refere ao filho passado como parâmetro.</param> /// <param name="itemCreate">Chamada de criação de wrapper da coleção.</param> public EntityPointerSelectionList(Colosoft.Collections.IObservableCollection <TBusiness> items, Colosoft.Collections.IObservableCollection <TPointer> selected, Func <TBusiness, TPointer> createCall, Func <TBusiness, TPointer, bool> compareCall, Func <TBusiness, TItem> itemCreate) : base(items, e => itemCreate(e)) { _selected = selected; }
/// <summary> /// Construtor para lista com items personalizados. /// </summary> /// <param name="controller"></param> /// <param name="items"></param> /// <param name="selected"></param> /// <param name="itemCreator"></param> public EntitySelectionList(Colosoft.Business.IEntity controller, Collections.IObservableCollection <TBusiness> items, Collections.IObservableCollection <TBusiness> selected, Func <Colosoft.Business.IEntity, TBusiness, Collections.IObservableCollection <TBusiness>, Item> itemCreator) : base(items, e => itemCreator(controller, e, selected)) { _selected = selected; }
/// <summary> /// Contrutor parameterizado. /// </summary> /// <param name="controller">A entidade que controla o estado dos items da lista.</param> /// <param name="items">A lista de itens.</param> /// <param name="selected">A lista dos selecionados.</param> public EntitySelectionList(Colosoft.Business.IEntity controller, Colosoft.Collections.IObservableCollection <TBusiness> items, Colosoft.Collections.IObservableCollection <TBusiness> selected) : base(items, e => new Item(controller, e, selected)) { _selected = selected; }