private void m_arbreAlarmes_DragOver(object sender, DragEventArgs e) { TreeNode node = e.Data.GetData(typeof(TreeNode)) as TreeNode; if (node != null && node.Tag is ITypeAlarme) { ITypeAlarme typeMoved = node.Tag as ITypeAlarme; if (typeMoved != null) { Point pt = m_arbreAlarmes.PointToClient(new Point(e.X, e.Y)); TreeNode nodeDest = m_arbreAlarmes.GetNodeAt(pt); if (nodeDest != null && nodeDest.Tag is ITypeAlarme) { ITypeAlarme type = nodeDest.Tag as ITypeAlarme; bool bOk = true; while (type != null) { if (type == typeMoved) { bOk = false; } type = type.TypeParent; } if (bOk) { e.Effect = DragDropEffects.Move; } } if (nodeDest == null) { e.Effect = DragDropEffects.Move; } } } }
private void FillNode(TreeNode node, ITypeAlarme type) { node.Text = type.Libelle; node.Tag = type; if (type.TypesFils.Count() > 0 && node.Nodes.Count == 0) { node.Nodes.Add(new TreeNode()); } }
public static bool EditeTypeAlarme(ITypeAlarme type) { CFormEditeTypeAlarme form = new CFormEditeTypeAlarme(); form.m_typeAlarme = type; bool bResult = false; if (form.ShowDialog() == DialogResult.OK) { bResult = true; } form.Dispose(); return(bResult); }
//--------------------------------------------------------------- private void m_arbreAlarmes_BeforeExpand(object sender, TreeViewCancelEventArgs e) { if (e.Node != null && e.Node.Nodes.Count == 1 && e.Node.Nodes[0].Tag == null) { e.Node.Nodes.Clear(); ITypeAlarme typeAlarme = e.Node.Tag as ITypeAlarme; if (typeAlarme != null) { foreach (ITypeAlarme typeFils in typeAlarme.TypesFils) { TreeNode node = new TreeNode(); FillNode(node, typeFils); e.Node.Nodes.Add(node); } } } }
public CMenuTypeAlarm(ITypeAlarme typeAlarme) : base(typeAlarme.Libelle) { TypeAlarme = typeAlarme; }