private void m_imageQte_MouseMove(object sender, MouseEventArgs e) { m_bHasDrag = false; if ((e.Button & MouseButtons.Left) == MouseButtons.Left && m_ptMouseDownTache != null) { Point pt = new Point(Math.Abs(e.X - m_ptMouseDownTache.Value.X), Math.Abs(e.Y - m_ptMouseDownTache.Value.Y)); if (pt.X > 4 || pt.Y > 4) { CItemQuantite item = CurrentItem as CItemQuantite; if (item != null) { StartDragDrop(new Point(e.X, e.Y), DragDropEffects.Move | DragDropEffects.Link); m_bHasDrag = true; AssociatedListControl.RefreshItem(item); if (item.Quantite != null) { item.Quantite.Index = item.Index; } item = ((CCustomizableListAvecNiveau)AssociatedListControl).GetParent(item) as CItemQuantite; while (item != null) { AssociatedListControl.RefreshItem(item); item = ((CCustomizableListAvecNiveau)AssociatedListControl).GetParent(item) as CItemQuantite; } } AssociatedListControl.Refresh(); } } }
public override DragDropEffects GetDragDropEffect(DragEventArgs e) { DragDropEffects eff = base.GetDragDropEffect(e); m_nItemDragElement = null; if (eff == DragDropEffects.None) { CReferenceObjetDonnee refe = e.Data.GetData(typeof(CReferenceObjetDonnee)) as CReferenceObjetDonnee; if (refe != null) { Point pt = PointToClient(new Point(e.X, e.Y)); int? nItemIndex = GetItemIndexAtPosition(pt.Y); if (nItemIndex != null) { CItemQuantite item = Items[nItemIndex.Value] as CItemQuantite; if (item != null && item.Quantite != null && item.Quantite.QuantiteParente == null && (item.Quantite.TypeEntiteAssocie == null || item.Quantite.RelationsElementsSelectionnes.Count == 0 || item.Quantite.TypeEntiteAssocie == refe.TypeObjet)) { eff = DragDropEffects.Link; m_nItemDragElement = nItemIndex; } } } } return(eff); }
protected override void m_panelDessin_DragDrop(object sender, DragEventArgs e) { if (m_nItemDragElement == null) { base.m_panelDessin_DragDrop(sender, e); } else { CItemQuantite item = Items[m_nItemDragElement.Value] as CItemQuantite; if (item != null) { CBesoinQuantite bq = item.Quantite; CReferenceObjetDonnee[] lstRefs = e.Data.GetData(typeof(CReferenceObjetDonnee[])) as CReferenceObjetDonnee[]; if (lstRefs == null) { CReferenceObjetDonnee refObj = e.Data.GetData(typeof(CReferenceObjetDonnee)) as CReferenceObjetDonnee; if (refObj != null) { lstRefs = new CReferenceObjetDonnee[] { refObj } } ; } if (lstRefs != null) { string strMes = ""; if (lstRefs.Count() == 1) { CObjetDonneeAIdNumerique objet = lstRefs[0].GetObjet(item.Quantite.ContexteDonnee) as CObjetDonneeAIdNumerique; if (objet != null) { strMes = objet.DescriptionElement; } } else { strMes = I.T("@1 elements|20640", lstRefs.Count().ToString()); } if (MessageBox.Show(I.T("Add @1 to selection ?|20639", strMes), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { foreach (CReferenceObjetDonnee refObjet in lstRefs) { CObjetDonneeAIdNumerique objet = refObjet.GetObjet(item.Quantite.ContexteDonnee) as CObjetDonneeAIdNumerique; if (objet != null) { bq.AddSelectedEntity(objet); CurrentItemIndex = CurrentItemIndex; } } } } } } } }
private void UpdateMarge() { CItemQuantite item = CurrentItem as CItemQuantite; if (item != null && item.Quantite != null) { m_picMarge.Width = item.Niveau * 10; } }
//-------------------------------------------------------------------- private void AddItemQuantiteEtFils(CItemQuantite itemParent, CBesoinQuantite q, List <CCustomizableListItem> lstItems) { CItemQuantite item = new CItemQuantite(q, itemParent); lstItems.Add(item); foreach (CBesoinQuantite qFils in q.QuantitesFilles) { AddItemQuantiteEtFils(item, qFils, lstItems); } }
public override bool OnChangeParent(CCustomizableListItemANiveau item) { CItemQuantite it = item as CItemQuantite; if (Quantite != null && (it != null || item == null)) { if (it != null) { Quantite.QuantiteParente = it.Quantite; } else { Quantite.QuantiteParente = null; } return(true); } return(false); }
public CItemQuantite(CBesoinQuantite q, CItemQuantite itemParent) : base(itemParent) { Tag = q; }