/// <summary> /// Adiciona um item à lista de clientes /// </summary> public void Add(ListaPessoasItem item) { if (listaPessoas.InvokeRequired) { AddCallback método = new AddCallback(Add); listaPessoas.BeginInvoke(método, new object[] { item }); } else { // Insere na lista base.Add(item); if (autoOrdenação) base.Sort(); // Insere no visual da lista listaPessoas.Controls.Add(item); TratarEventos(item); // Reorganiza dono listaPessoas.Reorganizar(); listaPessoas.DispararPessoaIncluída(item); } }
/// <summary> /// Constrói lista de clientes /// </summary> public ListaPessoas() { // This call is required by the Windows.Forms Form Designer. InitializeComponent(); // Construir atributos itens = new ColeçãoListaPessoasItem(this); sinalização = null; seleção = null; }
/// <summary> /// Dispara evento de pessoa incluída. /// </summary> /// <param name="item">Pessoa incluída.</param> internal void DispararPessoaIncluída(ListaPessoasItem item) { if (PessoaIncluída != null) PessoaIncluída(item); }
/// <summary> /// Ocorre quando um item é clicado duas vezes. /// </summary> /// <param name="item">Item selecionado.</param> /// <remarks>Chamado pela coleção.</remarks> internal void ItemDuploClique(ListaPessoasItem item) { seleção = item; if (PessoaSelecionada != null) PessoaSelecionada(item); OnDoubleClick(new EventArgs()); }
/// <summary> /// Ocorre quando um item é selecionado pelo mouse. /// </summary> /// <param name="item">Item selecionado</param> /// <remarks>Chamado pela coleção</remarks> internal void ItemSelecionado(ListaPessoasItem item) { seleção = item; if (PessoaSelecionada != null) PessoaSelecionada(item); }
/// <param name="item">Item a ser exibido.</param> internal void Posicionar(ListaPessoasItem item, int colunas) { lock (this) { item.Location = posiçãoAtual; item.Width = itemTamanho; if (++colunaAtual < colunas) { posiçãoAtual.X += itemTamanho + distânciaEntreColunas; } else { posiçãoAtual.X = 0; posiçãoAtual.Y += item.Height + distânciaEntreColunas; colunaAtual = 0; } } }
/// <summary> /// Remove tratamento de eventos ao item da lista de pessoas. /// </summary> /// <param name="item">Item cujos eventos serão destratados.</param> private void DestratarEventos(ListaPessoasItem item) { item.Fechar -= itemFechar; item.Click -= itemClick; item.DoubleClick -= itemDuploClick; }
/// <summary> /// Remove um item da lista de pessoas /// </summary> /// <param name="item"></param> public void Remove(ListaPessoasItem item) { if (listaPessoas.InvokeRequired) { RemoveCallback método = new RemoveCallback(Remove); listaPessoas.BeginInvoke(método, new object[] { item } ); } else { // Remove da lista base.Remove(item); // Remove do visual da lista listaPessoas.Controls.Remove(item); DestratarEventos(item); // Reorganiza dono listaPessoas.Reorganizar(); } }
/// <summary> /// Cria um item e o adiciona à lista de pessoas /// </summary> public void Add(string primária, string secundária, string descrição) { ListaPessoasItem item; item = new ListaPessoasItem(primária, secundária, descrição); this.Add(item); }
private void listaDatasRelevantes_PessoaSelecionada(ListaPessoasItem item) { DispararEscolha(((ListaPessoaDataImportante)item).Data.Pessoa); }
/// <summary> /// Ocorre ao selecionar uma pessoa. /// </summary> /// <param name="item">Item selecionado.</param> protected virtual void listaPessoas_PessoaSelecionada(ListaPessoasItem item) { Entidades.Pessoa.Pessoa pessoa; pessoa = ((ListaEntidadePessoaItem) item).Pessoa; Escolhida(pessoa); }