Ejemplo n.º 1
0
                public void LoadCif()
                {
                        // Cargo el archivo CIF
                        using (System.IO.Stream CifXml = this.Assembly.GetManifestResourceStream(this.EspacioNombres + ".cif.xml")) {
                                if (CifXml != null) {
                                        // FIXME: puedo cargarlo con un lector de texto
                                        using (System.IO.StreamReader Lector = new System.IO.StreamReader(CifXml)) {
                                                this.Cif = Lector.ReadToEnd();
                                                Lector.Close();
                                        }
                                }
                        }

                        if (this.Cif == null)
                                return;

                        System.Xml.XmlDocument DocumentoCif = new System.Xml.XmlDocument();
                        DocumentoCif.LoadXml(this.Cif);
                        System.Xml.XmlNodeList ListaComponentes = DocumentoCif.GetElementsByTagName("Component");
                        //Abro el/los nodo(s) de componentes
                        foreach (System.Xml.XmlNode Componente in ListaComponentes) {
                                System.Xml.XmlNodeList NodosMenu = DocumentoCif.GetElementsByTagName("MenuItem");
                                foreach (System.Xml.XmlNode NodoMenu in NodosMenu) {
                                        if (this.MenuEntries == null)
                                                this.MenuEntries = new List<Lfx.Components.MenuEntry>();

                                        Lfx.Components.MenuEntry Menu = new Lfx.Components.MenuEntry();
                                        Menu.Name = NodoMenu.Attributes["name"].Value;
                                        if (NodoMenu.Attributes["position"] == null)
                                                Menu.Parent = "Componentes";
                                        else
                                                Menu.Parent = NodoMenu.Attributes["position"].Value;

                                        if (NodoMenu.Attributes["function"] != null)
                                                Menu.Function = NodoMenu.Attributes["function"].Value;

                                        this.MenuEntries.Add(Menu);
                                }

                                // Cargo las funciones personalizadas
                                System.Xml.XmlNodeList NodosFunciones = DocumentoCif.GetElementsByTagName("Function");
                                foreach (System.Xml.XmlNode NodoFuncion in NodosFunciones) {
                                        Lfx.Components.FunctionInfo Func = new Lfx.Components.FunctionInfo(this);
                                        Func.Nombre = NodoFuncion.Attributes["name"].Value;
                                        if (Func.Nombre != null && Func.Nombre.Length > 0 && Func.Nombre != "-") {
                                                if (NodoFuncion.Attributes["autorun"] != null && NodoFuncion.Attributes["autorun"].Value == "1")
                                                        Func.AutoRun = true;

                                                this.Funciones.Add(Func);
                                        }
                                }
                        }
                }
Ejemplo n.º 2
0
        public void LoadCif()
        {
            // Cargo el archivo CIF
            using (System.IO.Stream CifXml = this.Assembly.GetManifestResourceStream(this.EspacioNombres + ".cif.xml")) {
                if (CifXml != null)
                {
                    // FIXME: puedo cargarlo con un lector de texto
                    using (System.IO.StreamReader Lector = new System.IO.StreamReader(CifXml)) {
                        this.Cif = Lector.ReadToEnd();
                        Lector.Close();
                    }
                }
            }

            if (this.Cif == null)
            {
                return;
            }

            System.Xml.XmlDocument DocumentoCif = new System.Xml.XmlDocument();
            DocumentoCif.LoadXml(this.Cif);
            System.Xml.XmlNodeList ListaComponentes = DocumentoCif.GetElementsByTagName("Component");
            //Abro el/los nodo(s) de componentes
            foreach (System.Xml.XmlNode Componente in ListaComponentes)
            {
                System.Xml.XmlNodeList NodosMenu = DocumentoCif.GetElementsByTagName("MenuItem");
                foreach (System.Xml.XmlNode NodoMenu in NodosMenu)
                {
                    if (this.MenuEntries == null)
                    {
                        this.MenuEntries = new List <Lfx.Components.MenuEntry>();
                    }

                    Lfx.Components.MenuEntry Menu = new Lfx.Components.MenuEntry();
                    Menu.Name = NodoMenu.Attributes["name"].Value;
                    if (NodoMenu.Attributes["position"] == null)
                    {
                        Menu.Parent = "Componentes";
                    }
                    else
                    {
                        Menu.Parent = NodoMenu.Attributes["position"].Value;
                    }

                    if (NodoMenu.Attributes["function"] != null)
                    {
                        Menu.Function = NodoMenu.Attributes["function"].Value;
                    }

                    this.MenuEntries.Add(Menu);
                }

                // Cargo las funciones personalizadas
                System.Xml.XmlNodeList NodosFunciones = DocumentoCif.GetElementsByTagName("Function");
                foreach (System.Xml.XmlNode NodoFuncion in NodosFunciones)
                {
                    Lfx.Components.FunctionInfo Func = new Lfx.Components.FunctionInfo(this);
                    Func.Nombre = NodoFuncion.Attributes["name"].Value;
                    if (Func.Nombre != null && Func.Nombre.Length > 0 && Func.Nombre != "-")
                    {
                        if (NodoFuncion.Attributes["autorun"] != null && NodoFuncion.Attributes["autorun"].Value == "1")
                        {
                            Func.AutoRun = true;
                        }

                        this.Funciones.Add(Func);
                    }
                }
            }
        }