/// <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);
			}
		}
예제 #2
0
		/// <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;
		}
예제 #3
0
		/// <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);
		}
예제 #4
0
		/// <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());
		}
예제 #5
0
		/// <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);
		}
예제 #6
0
		/// <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);
		}