Example #1
0
        static void LoadFromXml(XmlElement xmlElement, ChartThemeFolder folder)
        {
            // folder
            XmlNodeList foldNodes = xmlElement.SelectNodes("folder");

            foreach (XmlElement foldNode in foldNodes)
            {
                ChartThemeFolder subFolder = new ChartThemeFolder();
                subFolder.Name = foldNode.GetAttribute("name");
                LoadFromXml(foldNode, subFolder);
                if (subFolder.Themes.Count > 0 || subFolder.Folders.Count > 0)
                {
                    folder.Folders.Add(subFolder);
                }
            }

            // theme
            XmlNodeList nodes = xmlElement.SelectNodes("theme");

            if (nodes.Count > 0)
            {
                foreach (XmlNode node in nodes)
                {
                    if (node is XmlElement)
                    {
                        ChartTheme theme = DeserializeTheme(node as XmlElement);
                        if (theme != null)
                        {
                            theme.SetIsInternal(true);
                            folder.Themes.Add(theme);
                        }
                    }
                }
            }
        }
Example #2
0
        private static void LoadWindowScheme(ChartTheme theme, byte[] data)
        {
            const int COLOR_3DDKSHADOW = 21;
            //const int COLOR_3DFACE = 15;
            //const int COLOR_3DHIGHLIGHT = 20;
            //const int COLOR_3DHILIGHT = 20;
            //const int COLOR_3DLIGHT = 22;
            //const int COLOR_3DSHADOW = 16;
            //const int COLOR_ACTIVEBORDER = 10;
            const int COLOR_ACTIVECAPTION = 2;
            //const int COLOR_APPWORKSPACE = 12;
            //const int COLOR_BACKGROUND = 1;
            const int COLOR_BTNFACE = 15;
            //const int COLOR_BTNHIGHLIGHT = 20;
            const int COLOR_BTNSHADOW   = 16;
            const int COLOR_BTNTEXT     = 18;
            const int COLOR_CAPTIONTEXT = 9;
            //const int COLOR_DESKTOP = 1;
            const int COLOR_GRADIENTACTIVECAPTION = 27;
            //const int COLOR_GRADIENTINACTIVECAPTION = 28;
            //const int COLOR_GRAYTEXT = 17;
            const int COLOR_HIGHLIGHT = 13;
            //const int COLOR_HIGHLIGHTTEXT = 14;
            const int COLOR_HOTLIGHT = 26;
            //const int COLOR_INACTIVEBORDER = 11;
            //const int COLOR_INACTIVECAPTION = 3;
            //const int COLOR_INACTIVECAPTIONTEXT = 19;
            //const int COLOR_INFOBK = 24;
            //const int COLOR_INFOTEXT = 23;
            //const int COLOR_MENU = 4;
            //const int COLOR_MENUHILIGHT = 29;
            //const int COLOR_MENUBAR = 30;
            //const int COLOR_MENUTEXT = 7;
            //const int COLOR_SCROLLBAR = 0;
            const int COLOR_WINDOW = 5;
            //const int COLOR_WINDOWFRAME = 6;
            const int COLOR_WINDOWTEXT = 8;

            theme.SetIsInternal(true);

            theme.BackColor       = GetColor(data, COLOR_WINDOW);
            theme.ForeColor       = GetColor(data, COLOR_WINDOWTEXT);
            theme.LineColor       = GetColor(data, COLOR_3DDKSHADOW);
            theme.BorderColor     = GetColor(data, COLOR_BTNSHADOW);
            theme.NodeBackColor   = GetColor(data, COLOR_BTNFACE);
            theme.NodeForeColor   = GetColor(data, COLOR_BTNTEXT);
            theme.RootBackColor   = GetColor(data, COLOR_ACTIVECAPTION);
            theme.RootForeColor   = GetColor(data, COLOR_CAPTIONTEXT);
            theme.RootBorderColor = GetColor(data, COLOR_GRADIENTACTIVECAPTION);
            theme.SelectColor     = GetColor(data, COLOR_HIGHLIGHT);
            theme.HoverColor      = GetColor(data, COLOR_HOTLIGHT);
            theme.LinkLineColor   = GetColor(data, COLOR_ACTIVECAPTION);

            //<back_color>Window</back_color>
            //<fore_color>WindowText</fore_color>
            //<line_color>ControlDarkDark</line_color>
            //<border_color>ControlDark</border_color>
            //<node_back_color>Control</node_back_color>
            //<node_fore_color>ControlText</node_fore_color>
            //<root_back_color>ActiveCaption</root_back_color>
            //<root_fore_color>ActiveCaptionText</root_fore_color>
            //<root_border_color>GradientActiveCaption</root_border_color>
            //<select_color>Highlight</select_color>
            //<hover_color>HotTrack</hover_color>
        }