Пример #1
0
        private void tvReports_AfterSelect(object sender, TreeViewEventArgs e)
        {
            #region Clear
            while (true)
            {
                if (buttonHelpResources.SubItems[0] == labelHelp)
                {
                    break;
                }
                buttonHelpResources.SubItems.RemoveAt(0);
            }
            #endregion

            reportInfo info = reportsHelper[e.Node.Tag] as reportInfo;
            if (info != null && (info.videos.Count > 0 || info.samples.Count > 0))
            {
                int indexSubItems = 0;
                // Video
                if (info.videos.Count > 0)
                {
                    LabelItem labelVideos = new LabelItem();
                    labelVideos.BackColor       = System.Drawing.Color.FromArgb(221, 231, 238);
                    labelVideos.BorderSide      = Stimulsoft.Controls.Win.DotNetBar.eBorderSide.All;
                    labelVideos.BorderType      = Stimulsoft.Controls.Win.DotNetBar.eBorderType.SingleLine;
                    labelVideos.ForeColor       = System.Drawing.Color.FromArgb(0, 21, 110);
                    labelVideos.PaddingBottom   = 1;
                    labelVideos.PaddingLeft     = 1;
                    labelVideos.PaddingTop      = 1;
                    labelVideos.SingleLineColor = System.Drawing.Color.FromArgb(197, 197, 197);
                    labelVideos.Text            = (string)demoLocalization["LabelVideos"];
                    buttonHelpResources.SubItems.Insert(indexSubItems++, labelVideos);

                    int index = -1;
                    while (++index < info.videos.Count)
                    {
                        videoInfo vi = info.videos[index];

                        ButtonItem button = new ButtonItem();
                        button.Image  = videoBitmap;
                        button.Text   = "<b>" + vi.name + "</b><br>" + vi.description + "</br>";
                        button.Tag    = vi.hyperlink;
                        button.Click += new EventHandler(infoButton_Click);

                        buttonHelpResources.SubItems.Insert(indexSubItems++, button);
                    }
                }

                // Samples
                if (info.samples.Count > 0)
                {
                    LabelItem labelSamples = new LabelItem();
                    labelSamples.BackColor       = System.Drawing.Color.FromArgb(221, 231, 238);
                    labelSamples.BorderSide      = Stimulsoft.Controls.Win.DotNetBar.eBorderSide.All;
                    labelSamples.BorderType      = Stimulsoft.Controls.Win.DotNetBar.eBorderType.SingleLine;
                    labelSamples.ForeColor       = System.Drawing.Color.FromArgb(0, 21, 110);
                    labelSamples.PaddingBottom   = 1;
                    labelSamples.PaddingLeft     = 1;
                    labelSamples.PaddingTop      = 1;
                    labelSamples.SingleLineColor = System.Drawing.Color.FromArgb(197, 197, 197);
                    labelSamples.Text            = (string)demoLocalization["LabelSamples"];
                    buttonHelpResources.SubItems.Insert(indexSubItems++, labelSamples);

                    int index = -1;
                    while (++index < info.samples.Count)
                    {
                        sampleInfo si = info.samples[index];

                        ButtonItem button = new ButtonItem();
                        button.Image  = (si.isVB) ? global::Demo.Properties.Resources.VBProject : global::Demo.Properties.Resources.CSharpProject;
                        button.Text   = "<b>" + si.name + "</b><br>" + si.description + "</br>";
                        button.Tag    = si.path;
                        button.Click += new EventHandler(infoButton_Click);

                        buttonHelpResources.SubItems.Insert(indexSubItems++, button);
                    }
                }
            }
        }
Пример #2
0
        private void ReadReportsInfo()
        {
            #region Load
            string fileName = StiLocalization.CultureName;

            switch (fileName)
            {
            case "ua":
            case "be":
            case "ru":
                fileName = "ReportsRu.xml";
                break;

            default:
                fileName = "ReportsEn.xml";
                break;
            }

            StreamReader  sr = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("Demo." + fileName));
            XmlTextReader tr = new XmlTextReader(sr);
            #endregion

            TreeNode categoryNode = null;

            bool is64Bit = IntPtr.Size == 8;

            tr.Read();
            while (!tr.EOF)
            {
                if (tr.IsStartElement())
                {
                    bool isNew = tr.GetAttribute("new") == "True";

                    #region Category
                    if (tr.Name == "Category")
                    {
                        bool x86Only = tr.GetAttribute("x86Only") == "True";
                        if (!(x86Only && is64Bit))
                        {
                            categoryNode     = new TreeNode(tr.GetAttribute("name"), 0, 0);
                            categoryNode.Tag = tr.GetAttribute("name");
                            tvReports.Nodes.Add(categoryNode);
                        }
                    }
                    #endregion

                    #region Report
                    else if (tr.Name == "Report")
                    {
                        bool x86Only = tr.GetAttribute("x86Only") == "True";
                        if (!(x86Only && is64Bit))
                        {
                            TreeNode reportNode = new TreeNode(tr.GetAttribute("name"), 1, 1);
                            reportNode.Tag = tr.GetAttribute("file");

                            if (tr.NodeType == XmlNodeType.Element)
                            {
                                reportInfo rptInfo = reportsHelper[reportNode.Tag] as reportInfo;
                                if (rptInfo == null)
                                {
                                    rptInfo = new reportInfo();
                                    reportsHelper[reportNode.Tag] = rptInfo;
                                }

                                tr.Read();
                                int depth = tr.Depth;
                                tr.Read();
                                while (tr.Depth >= depth && tr.NodeType != XmlNodeType.EndElement)
                                {
                                    switch (tr.Name)
                                    {
                                    case "desc":
                                        rptInfo.description = tr.ReadElementContentAsString();
                                        break;

                                    case "video":
                                        videoInfo video = new videoInfo();

                                        video.name        = tr.GetAttribute("name");
                                        video.description = tr.GetAttribute("desc");
                                        video.hyperlink   = tr.ReadElementContentAsString();
                                        rptInfo.videos.Add(video);
                                        break;

                                    case "sample":
                                        sampleInfo csSample = new sampleInfo();

                                        csSample.name        = tr.GetAttribute("name");
                                        csSample.description = tr.GetAttribute("desc");
                                        csSample.isVB        = tr.GetAttribute("vb") == "True";
                                        csSample.path        = tr.ReadElementContentAsString();
                                        rptInfo.samples.Add(csSample);
                                        break;
                                    }

                                    tr.Read();
                                }

                                tr.Read();
                            }
                            categoryNode.Nodes.Add(reportNode);
                        }
                    }
                    #endregion

                    #region Localization
                    else if (tr.Name == "Localization")
                    {
                        tr.Read();
                        int depth = tr.Depth;
                        tr.Read();
                        while (tr.Depth >= depth && tr.NodeType != System.Xml.XmlNodeType.EndElement)
                        {
                            string key     = tr.Name;
                            string content = tr.ReadElementContentAsString();
                            demoLocalization.Add(key, content);

                            tr.Read();
                        }
                    }
                    #endregion
                }
                tr.Read();
            }

            tr.Close();
            sr.Close();
            tvReports.Nodes[0].Expand();
        }