예제 #1
0
 /// <summary>
 /// Construction d'une vue pour une NotIt.
 /// </summary>
 /// <param name="model">NotIt à représenter.</param>
 public NotItView(NotIt model)
 {
     isTitleEdited   = false;
     isDetailsEdited = false;
     modelId         = model.Id;
     InitializeComponent();
     // Mise à jour de la vue à partir de la NotIt.
     UpdateView(model);
     // Abonnement aux évènements de la NotIt.
     statusChangedEventHandler = new NotIt.StatusChangedEventHandler(model_StatusChanged);
     showedEventHandler        = new NotIt.ShowedEventHandler(model_Showed);
     hidedEventHandler         = new NotIt.HidedEventHandler(model_Hided);
     model.StatusChanged      += statusChangedEventHandler;
     model.Showed += showedEventHandler;
     model.Hided  += hidedEventHandler;
     // Obtention d'une référence vers le controler de NotIts.
     controler = NotItControler.Instance;
     // Création du fond transparent
     SetTransparentBackgroundImage();
     detailsTextBox.LostFocus += new EventHandler(detailsTextBox_LostFocus);
     detailsLabel.MouseEnter  += new EventHandler(label_MouseEnter);
     detailsLabel.MouseLeave  += new EventHandler(label_MouseLeave);
     titleTextBox.LostFocus   += new EventHandler(titleTextBox_LostFocus);
     titleLabel.MouseEnter    += new EventHandler(label_MouseEnter);
     titleLabel.MouseLeave    += new EventHandler(label_MouseLeave);
 }
예제 #2
0
        /// <summary>
        /// Suppression d'une NotIt, mise à jour de la liste.
        /// </summary>
        /// <param name="sender">NotItControler.</param>
        /// <param name="e">Suppression d'une NotIt.</param>
        void controler_NotItRemoved(object sender, NotItControler.NotItRemovedArgs e)
        {
            NotIt notIt = (NotIt)listView.Items[e.NotItId.ToString()].Tag;

            notIt.StatusChanged -= statusChangedEventHandler;
            listView.Items.RemoveByKey(e.NotItId.ToString());
        }
예제 #3
0
 /// <summary>
 /// On détache la vue de la NotIt.
 /// </summary>
 /// <param name="model">NotIt représentée.</param>
 public void Detach(NotIt model)
 {
     // On retire les "event handlers"
     model.Hided         -= hidedEventHandler;
     model.Showed        -= showedEventHandler;
     model.StatusChanged -= statusChangedEventHandler;
 }
예제 #4
0
        /// <summary>
        /// Modification d'une NotIt, on met à jour son item dans la liste.
        /// </summary>
        /// <param name="source">NotIt.</param>
        void NotIt_StatusChanged(object source)
        {
            NotIt        notIt = (NotIt)source;
            ListViewItem item  = listView.Items[notIt.Id.ToString()];

            item.Text = notIt.Title;
            item.Tag  = notIt;
        }
예제 #5
0
 /// <summary>
 /// Désabonnement des évènements des NotIts.
 /// </summary>
 private void UnregisterFromNotItEvents()
 {
     foreach (ListViewItem item in listView.Items)
     {
         NotIt notIt = (NotIt)item.Tag;
         notIt.StatusChanged -= statusChangedEventHandler;
     }
 }
예제 #6
0
 /// <summary>
 /// Mise à jour de la vue en fonction des propriétés de la NotIt.
 /// </summary>
 /// <param name="model">NotIt à représenter.</param>
 private void UpdateView(NotIt model)
 {
     Location        = model.Location;
     Name            = string.Format("{0}_{1}", model.Title, model.Id);
     titleLabel.Text = model.Title;
     titleLabel.Left = (Width - titleLabel.Width) / 2;
     toolTip.SetToolTip(titleLabel, titleLabel.Text);
     detailsLabel.Text = model.Details;
     toolTip.SetToolTip(detailsLabel, detailsLabel.Text);
     TopMost = model.Pinned;
     pinToolStripMenuItem.Checked = model.Pinned;
 }
예제 #7
0
        /// <summary>
        /// Ajoute la NotIt à la liste.
        /// </summary>
        /// <param name="notIt">NotIt à ajouter.</param>
        private void AddNotIt(NotIt notIt)
        {
            ListViewItem item = new ListViewItem();

            item.Text       = notIt.Title;
            item.Tag        = notIt;
            item.Name       = notIt.Id.ToString();
            item.ImageIndex = 0;
            listView.Items.Add(item);
            // On s'abonne aux évènements de la NotIt.
            notIt.StatusChanged += statusChangedEventHandler;
            notIt.Show();
        }
예제 #8
0
 /// <summary>
 /// Sélection d'une ou plusieurs NotIts.
 /// </summary>
 /// <param name="sender">ListView.</param>
 /// <param name="e">Changement de sélection.</param>
 private void listView_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
 {
     foreach (ListViewItem item in listView.SelectedItems)
     {
         // On affiche au premier plan les NotIts sélectionnées.
         NotIt notIt = (NotIt)item.Tag;
         notIt.Show();
         Focus();
     }
     if (listView.SelectedItems.Count == 0)
     {
         deletedToolStripMenuItem.Enabled = false;
     }
     else
     {
         deletedToolStripMenuItem.Enabled = true;
     }
 }