//------------------------------------------------------------------------------ private void CArbreElementsModule_ItemDrag(object sender, ItemDragEventArgs e) { TreeNode node = e.Item as TreeNode; CRelationElement_ModuleParametrage rel = node != null ? node.Tag as CRelationElement_ModuleParametrage : null; if (rel != null) { DoDragDrop(rel, DragDropEffects.None | DragDropEffects.Move | DragDropEffects.Copy); } }
/////////////////////////////////////////////////// public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CRelationElement_ModuleParametrage relation = (CRelationElement_ModuleParametrage)objet; } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
//------------------------------------------------------------------------------ void m_menuSupprimerRelationElement_Click(object sender, EventArgs e) { TreeNode node = SelectedNode; CRelationElement_ModuleParametrage rel = node != null ? node.Tag as CRelationElement_ModuleParametrage : null; if (rel != null) { if (rel != null) { rel.Delete(); node.Remove(); } } }
//------------------------------------------------------------------ private void CArbreElementsModule_DragDrop(object sender, DragEventArgs e) { List <CReferenceObjetDonnee> lst = new List <CReferenceObjetDonnee>(); CReferenceObjetDonnee[] refs = e.Data.GetData(typeof(CReferenceObjetDonnee[])) as CReferenceObjetDonnee[]; if (refs != null) { lst.AddRange(refs); } else { CReferenceObjetDonnee refSeule = e.Data.GetData(typeof(CReferenceObjetDonnee)) as CReferenceObjetDonnee; if (refSeule != null) { lst.Add(refSeule); } } foreach (CReferenceObjetDonnee data in lst) { // Créer ici un nouvelle relation Element_ModuleParametrage, si elle n'éxiste pas déjà CObjetDonneeAIdNumerique element = data.GetObjet(m_contexte) as CObjetDonneeAIdNumerique; if (element != null && m_moduleAffiche != null) { CRelationElement_ModuleParametrage newRelation = new CRelationElement_ModuleParametrage(m_contexte); if (!newRelation.ReadIfExists(new CFiltreData( CModuleParametrage.c_champId + " = @1 and " + CRelationElement_ModuleParametrage.c_champTypeElement + " = @2 and " + CRelationElement_ModuleParametrage.c_champIdElement + " = @3", m_moduleAffiche.Id, element.GetType().ToString(), element.Id))) { // La relation n'éxiste pas il faut la créer newRelation.CreateNewInCurrentContexte(); newRelation.ElementLie = element; newRelation.ModuleParametrage = m_moduleAffiche; InitForModule(m_moduleAffiche, m_contexte); } } } }
//--------------------------------------------------------------------------------------------- private void m_treeItems_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { TreeNode node = e.Node; CRelationElement_ModuleParametrage rel = node != null ? node.Tag as CRelationElement_ModuleParametrage : null; if (rel != null) { if (rel != null && rel.Row.RowState != DataRowState.Detached && rel.Row.RowState != DataRowState.Deleted) { CObjetDonneeAIdNumerique element = rel.ElementLie; if (element != null && OnListElementsItemDoubleClick != null) { OnListElementsItemDoubleClick(element, e); } } } }
private void m_ArbreModules_DragDrop(object sender, DragEventArgs e) { CModuleParametrage moduleDestination = null; Point pt = new Point(e.X, e.Y); pt = m_ArbreModules.PointToClient(pt); TreeNode nodeDestination = m_ArbreModules.GetNodeAt(pt); if (nodeDestination != null) { // Identifier le Module de paramétrage Sur lequel on a fait le Drop moduleDestination = nodeDestination.Tag as CModuleParametrage; //Celui-ci peut être null si c'est le node racine par exemple } // Si c'est un Module TreeNode nodeSource = e.Data.GetData(typeof(TreeNode)) as TreeNode; if (nodeSource != null) { CModuleParametrage moduleSource = nodeSource.Tag as CModuleParametrage; if (moduleSource != null) { // On ne peut pas déplacer un module su rlui-même if (moduleDestination != null && moduleDestination.Id == moduleSource.Id) { return; } if (e.Effect == DragDropEffects.Copy) { // Faire une copipe du Module de paramétrage CModuleParametrage nouveauModule = moduleSource.Clone(false) as CModuleParametrage; if (nouveauModule != null) { nouveauModule.ModuleParent = moduleDestination; TreeNode nouveauNode = m_ArbreModules.CreateNode(nouveauModule); nodeDestination.Nodes.Add(nouveauNode); } } else if (e.Effect == DragDropEffects.Move) { // Le module déplacé change de parent moduleSource.ModuleParent = moduleDestination; nodeSource.Remove(); nodeDestination.Nodes.Add(nodeSource); } } } // Si c'est une relation avec un element else if (e.Data.GetData(typeof(ListViewItem)) is ListViewItem) { ListViewItem itemSource = e.Data.GetData(typeof(ListViewItem)) as ListViewItem; if (itemSource != null) { CRelationElement_ModuleParametrage relationSource = itemSource.Tag as CRelationElement_ModuleParametrage; if (relationSource != null) { if (e.Effect == DragDropEffects.Copy) { // Faire une copipe du Module de paramétrage CRelationElement_ModuleParametrage nouvelleRelation = relationSource.Clone(false) as CRelationElement_ModuleParametrage; if (nouvelleRelation != null) { nouvelleRelation.ModuleParametrage = moduleDestination; } } else if (e.Effect == DragDropEffects.Move) { // Le module déplacé change de parent relationSource.ModuleParametrage = moduleDestination; } InitListeRelationsElements(m_currentSelectedModule); } } } // Si c'est une relation avec un element else if (e.Data.GetData(typeof(CRelationElement_ModuleParametrage)) is CRelationElement_ModuleParametrage) { CRelationElement_ModuleParametrage relationSource = e.Data.GetData(typeof(CRelationElement_ModuleParametrage)) as CRelationElement_ModuleParametrage; if (relationSource != null) { if (e.Effect == DragDropEffects.Copy) { // Faire une copipe du Module de paramétrage CRelationElement_ModuleParametrage nouvelleRelation = relationSource.Clone(false) as CRelationElement_ModuleParametrage; if (nouvelleRelation != null) { nouvelleRelation.ModuleParametrage = moduleDestination; } } else if (e.Effect == DragDropEffects.Move) { // Le module déplacé change de parent relationSource.ModuleParametrage = moduleDestination; } InitListeRelationsElements(m_currentSelectedModule); } } }