Пример #1
0
        /// <summary>
        /// On Scenegraph opened load is called
        /// Read xml and craete addin objects
        /// </summary>
        /// <param name="sgKey"></param>
        /// <param name="data"></param>
        public override void Load(string sgKey, string data)
        {
            IEnumerable <XElement> xeAddins = null;
            ClockAddIn             objAddin = null;
            XDocument xdocAddinDetail       = null;

            try
            {
                if (!string.IsNullOrEmpty(data))
                {
                    xdocAddinDetail = XDocument.Parse(data);
                    if (xdocAddinDetail != null)
                    {
                        if (m_lstAddins != null)
                        {
                            xeAddins = xdocAddinDetail.XPathSelectElements("data//addins/addin");
                            if (xeAddins != null && xeAddins.Count() > 0)
                            {
                                foreach (XElement objxem in xeAddins)
                                {
                                    objAddin             = new ClockAddIn();
                                    objAddin.Provider    = Provider;
                                    objAddin.Engine      = Engine;
                                    objAddin.SceneGraph  = m_ObjSceneGraph;
                                    objAddin.TableName   = "Clock";
                                    objAddin.Index       = 0;
                                    objAddin.RowsPerPage = 1;

                                    if (objxem.Attribute("addinid") != null &&
                                        objxem.Attribute("addinid").Value != null)
                                    {
                                        objAddin.InstanceId = objxem.Attribute("addinid").Value;
                                    }
                                    if (objxem.Attribute("name") != null &&
                                        objxem.Attribute("name").Value != null)
                                    {
                                        objAddin.Name = objxem.Attribute("name").Value;
                                    }
                                    if (objxem.Attribute("type") != null &&
                                        objxem.Attribute("type").Value != null)
                                    {
                                        objAddin.SetAddinType(objxem.Attribute("type").Value);
                                    }
                                    if (objxem.Value != null)
                                    {
                                        objAddin.Config = objxem.Value;
                                    }
                                    objAddin.StartUp();
                                    m_lstAddins.Add(objAddin);
                                }
                            }
                        }
                    }
                }
            }
            finally
            {
                xeAddins = null;
                objAddin = null;
            }
        }