Пример #1
0
		//<summary>
		//Ajoute plusieurs entrées aux listes
		//</summary>
		//<param name="items_to_add">entrées à ajouter</param>

		void AddEntries(ListViewItem[] items_to_add)
		{

			foreach (ListViewItem item_to_add in items_to_add)
			{

				list_speedruns.Add(item_to_add);

				list_speedruns_by_name.Add(list_speedruns.Count - 1);
				list_speedruns_by_time.Add(list_speedruns.Count - 1);

			}

			GUI_listView.BeginUpdate();

			GUI_listView.Items.Clear();

			if (bTriParNom)
				GUI_listView.Items.AddRange(list_speedruns_by_name.ToArray());
			else
				GUI_listView.Items.AddRange(list_speedruns_by_time.ToArray());

			GUI_listView.EndUpdate();

			if (!bResizedTimeColumn)
			{
				GUI_listView.Columns[1].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
				bResizedTimeColumn = true;
			}

		}
Пример #2
0
		//<summary>
		//Retire une entrée aux listes
		//</summary>
		//<param name="item_to_remove">entrée à retirer</param>

		void RemoveEntry(ListViewItem item_to_remove)
		{

			int nRemovedItemIndex = list_speedruns.IndexOf(item_to_remove);

			list_speedruns.Remove(item_to_remove);
			list_speedruns_by_name.Remove(nRemovedItemIndex);
			list_speedruns_by_time.Remove(nRemovedItemIndex);

			GUI_listView.BeginUpdate();

			GUI_listView.Items.Clear();

			if (bTriParNom)
				GUI_listView.Items.AddRange(list_speedruns_by_name.ToArray());
			else
				GUI_listView.Items.AddRange(list_speedruns_by_time.ToArray());

			GUI_listView.EndUpdate();

		}
Пример #3
0
		////////////////
		////////////////
		////////////////

		#region Clic sur une colonne (changement du tri des éléments)

		/// <summary>
		/// Action lors d'un clic sur un titre de colonne.
		/// Réorganise la liste sur l'élément cliqué.
		/// N'affecte pas le fichier généré en sortie.
		/// </summary>
		/// <param name="sender">Paramètre par défaut.</param>
		/// <param name="e">Paramètre contenant notamment l'index de base 0
		/// de la colonne cliquée.</param>

		private void GUI_listView_ColumnClick(object sender, ColumnClickEventArgs e)
		{

#if PROGRESSBAR_ADDON
			if (!bIsUpdating)
			{
#endif

				if (e.Column == 0) //colonne Titre
				{

					GUI_listView.BeginUpdate();

					if (bTriNomInverse)
						list_speedruns_by_name.SetComparer(CompareTitreItem);
					else
						list_speedruns_by_name.SetComparer(CompareTitreItemInverse);

					list_speedruns_by_name.Initialize();

					GUI_listView.Items.Clear();
					GUI_listView.Items.AddRange(list_speedruns_by_name.ToArray());

					bTriNomInverse = !bTriNomInverse;
					bTriParNom = true;

					GUI_listView.EndUpdate();

				}
				else
				if (e.Column == 1) //colonne Durée
				{

					GUI_listView.BeginUpdate();

					if (bTriDureeInverse)
						list_speedruns_by_time.SetComparer(CompareDureeItem);
					else
						list_speedruns_by_time.SetComparer(CompareDureeItemInverse);

					list_speedruns_by_time.Initialize();

					GUI_listView.Items.Clear();
					GUI_listView.Items.AddRange(list_speedruns_by_time.ToArray());

					bTriDureeInverse = !bTriDureeInverse;
					bTriParNom = false;

					GUI_listView.EndUpdate();

				}
				else
					MessageBox.Show("Pas de tri sur cet élément.");

				if (GUI_listView.SelectedIndices.Count > 0)
					GUI_listView.EnsureVisible(GUI_listView.SelectedIndices[0]);

#if PROGRESSBAR_ADDON
			}
#endif

		}