コード例 #1
0
        private void ChangeParentToolStripMenuItem_Click(object sender, EventArgs e)
        {
            AreaTreeNode nodo = (AreaTreeNode)EstatesTree.SelectedNode;

            if (nodo != null)
            {
                // Preparar el visor para cambiar de padre
                ParentChanger cmp = new ParentChanger(nodo.Area);
                cmp.ShowDialog();
            }
        }
コード例 #2
0
        public void OnStopObserving()
        {
            // Actualizar el explorador
            this.ExploradorLugar.OnStopObserving();

            // Actualizar las observaciones
            AreaTreeNode nodo = ( AreaTreeNode )
                                MainForm.LocateInTreeView(MainForm.mainForm.EstatesTree, this.Lugar)
            ;

            if (nodo != null)
            {
                nodo.ToolTipText = this.Lugar.Remarks;
            }
        }
コード例 #3
0
        TreeNode InsertElement(TreeNodeCollection treeNodeBranch, Area a)
        {
            AreaTreeNode nodo;

            // Observamos esta área
            if (a is Place)
            {
                observedAreas.Add(a);
                a.InsertObserver(this);
            }

            treeNodeBranch.Add(nodo = new AreaTreeNode(
                                   Area.FormatForPresentation(a.Name), a)
                               );

            return(nodo);
        }
コード例 #4
0
        public void OnStopObserving()
        {
            mustUpdate = false;
            MainForm.mainForm.Db.Save();
            this.RealEstate.EliminateObserver(this);

            // Actualizar las observaciones
            AreaTreeNode nodo = (AreaTreeNode)
                                MainForm.LocateInTreeView(MainForm.mainForm.EstatesTree, this.RealEstate)
            ;

            if (nodo != null)
            {
                nodo.ToolTipText = this.RealEstate.Remarks;
            }

            return;
        }
コード例 #5
0
        private void RenameStripMenuItem_Click(object sender, EventArgs e)
        {
            AreaTreeNode nodo = ( AreaTreeNode )EstatesTree.SelectedNode;

            if (nodo != null &&
                nodo != EstatesTree.Nodes[0])
            {
                string nuevoNombre = LaunchNameChangeFor(nodo.Area);

                // Asignar el nuevo nombre si se ha elegido uno
                if (nuevoNombre != null)
                {
                    nodo.Area.Name = nuevoNombre;
                    nodo.Text      = nuevoNombre;
                }
            }
            else
            {
                MessageBox.Show("Es necesario seleccionar un nodo, "
                                + "que no puede ser el raiz.");
            }

            return;
        }
コード例 #6
0
        /// <summary>
        /// Busca en un TreeView una Area determinada, utilizando
        /// getRuta() como referencia.
        /// Los nodos de éstos árboles son UINodoFinca, que lleva asociado
        /// un área.
        /// </summary>
        /// <param name="t"></param>
        /// <param name="a"></param>
        /// <returns></returns>
        public static TreeNode LocateInTreeView(TreeView t, Area a)
        {
            int          j;
            AreaTreeNode toret = ( AreaTreeNode )t.Nodes[0];
            var          areas = new List <Area>(a.BuildPath());

            // Ponerla la primera para ser tb. tenida en cuenta
            areas.Insert(0, a);

            if (areas.Count > 1 &&
                toret.Area == areas[areas.Count - 1])
            {
                for (int i = areas.Count - 2; i >= 0; --i)
                {
                    for (j = 0; j < toret.Nodes.Count; ++j)
                    {
                        AreaTreeNode n = ( AreaTreeNode )toret.Nodes[j];
                        if (n.Area == areas[i])
                        {
                            break;
                        }
                    }

                    if (j < toret.Nodes.Count)
                    {
                        toret = ( AreaTreeNode )toret.Nodes[j];
                    }
                    else
                    {
                        break;
                    }
                }
            }

            return(toret);
        }