Пример #1
0
        public static void Initialize()
        {
            AllThemes.Clear();

            string path = Blumind.Configuration.ProgramEnvironment.UIThemesDirectory;

            if (Directory.Exists(path))
            {
                var files = Directory.GetFiles(path, string.Format("*{0}", ColorThemeFileExtension));
                foreach (var f in files)
                {
                    var fn = Path.GetFileNameWithoutExtension(f);
                    if (StringComparer.OrdinalIgnoreCase.Equals("_Template", fn))    // 跳过模版
                    {
                        continue;
                    }

                    var t = UIColorTheme.Load(f);
                    if (t != null)
                    {
                        AllThemes.Add(t);
                    }
                }
            }
        }
Пример #2
0
        public static UIColorTheme Load(XmlDocument dom)
        {
            if (dom == null || dom.DocumentElement == null)
            {
                return(null);
            }

            var root = dom.DocumentElement;

            if (!StringComparer.OrdinalIgnoreCase.Equals(root.GetAttribute("type"), FileType))
            {
                return(null);
            }

            var t = new UIColorTheme();

            t.Name        = root.GetAttribute("name");
            t.Description = ST.ReadTextNode(root, "description");

            var colors = root.SelectSingleNode("colors");

            if (colors != null)
            {
                foreach (XmlElement cn in colors.ChildNodes)
                {
                    switch (cn.GetAttribute("name").ToLower())
                    {
                    case "dark":
                        t.Dark = ST.GetColor(cn.GetAttribute("value"), t.Dark);
                        break;

                    case "light":
                        t.Light = ST.GetColor(cn.GetAttribute("value"), t.Light);
                        break;

                    case "sharp":
                        t.Sharp = ST.GetColor(cn.GetAttribute("value"), t.Sharp);
                        break;

                    case "mediumdark":
                        t.MediumDark = ST.GetColor(cn.GetAttribute("value"), t.MediumDark);
                        break;

                    case "mediumlight":
                        t.MediumLight = ST.GetColor(cn.GetAttribute("value"), t.MediumLight);
                        break;

                    case "workspace":
                        t.Workspace = ST.GetColor(cn.GetAttribute("value"), t.Workspace);
                        break;
                    }
                }
            }

            return(t);
        }
Пример #3
0
        public DefaultToolStripColors()
        {
            UIColorTheme theme = UITheme.Default.Colors;

            if (theme == null)
            {
                theme = UIColorThemeManage.Default;
            }

            _MenuStripGradientEnd           = theme.Workspace;
            _MenuStripGradientBegin         = theme.Workspace;   // PaintHelper.GetDarkColor(_MenuStripGradientEnd, 0.1);
            _MenuItemPressedGradientBegin   = PaintHelper.GetLightColor(theme.Light, 0.2f);
            _MenuItemSelected               = theme.MediumLight; // PaintHelper.GetDarkColor(theme.Sharp, 0.1f);
            MenuStripItemSelectedForeColor  = PaintHelper.FarthestColor(_MenuItemSelected, theme.Dark, theme.Light);
            _MenuItemSelectedGradientMiddle = _MenuItemSelected;
            _MenuItemSelectedGradientBegin  = PaintHelper.GetLightColor(_MenuItemSelectedGradientMiddle, 0.1f);
            _MenuItemSelectedGradientEnd    = PaintHelper.GetLightColor(_MenuItemSelectedGradientMiddle, 0.05f);
            _MenuItemSelectedBorder         = Color.Empty;// PaintHelper.AdjustColor(PaintHelper.GetDarkColor(theme.Sharp), 0, 50, 30, 40);
            _MenuBorder            = theme.MediumLight;
            MenuStripItemForeColor = PaintHelper.FarthestColor(theme.Workspace, theme.MediumLight, theme.MediumDark, 50);

            _GripDark  = PaintHelper.GetDarkColor(_MenuStripGradientBegin, 0.2);
            _GripLight = PaintHelper.GetLightColor(_MenuStripGradientBegin, 0.1);

            _ToolStripGradientBegin      = theme.MediumLight;
            _ToolStripGradientMiddle     = theme.MediumLight;
            _ToolStripGradientEnd        = theme.MediumLight;// PaintHelper.GetDarkColor(theme.MediumLight, 0.1);
            _ToolStripDropDownBackground = theme.Light;

            _ImageMarginGradientBegin  = theme.MenuImageMargin;
            _ImageMarginGradientMiddle = _ImageMarginGradientBegin;
            _ImageMarginGradientEnd    = _ImageMarginGradientBegin;

            _CheckBackground         = PaintHelper.GetLightColor(theme.MediumDark);
            _CheckSelectedBackground = PaintHelper.GetLightColor(_CheckBackground);

            //_SeparatorDark = _ToolStripGradientMiddle;
            _SeparatorDark  = PaintHelper.GetDarkColor(_ToolStripGradientMiddle, 0.1);
            _SeparatorLight = Color.Empty;                                                             // PaintHelper.GetLightColor(_ToolStripGradientMiddle, 0.1);

            _ButtonCheckedGradientMiddle  = PaintHelper.AdjustColor(theme.MediumLight, 0, 60, 40, 70); // .GetDarkColor(theme.MediumLight, 0.2);
            _ButtonCheckedGradientBegin   = PaintHelper.GetDarkColor(_ButtonCheckedGradientMiddle, 0.2);
            _ButtonCheckedGradientEnd     = PaintHelper.GetDarkColor(_ButtonCheckedGradientMiddle, 0.1);
            _ButtonSelectedBorder         = PaintHelper.AdjustColor(theme.MediumDark, 0, 0, 30, 40);
            _ButtonSelectedGradientMiddle = PaintHelper.AdjustColor(theme.Sharp, 0, 100, 70, 80);
            _ButtonSelectedGradientBegin  = PaintHelper.GetLightColor(_ButtonSelectedGradientMiddle, 0.2);
            _ButtonSelectedGradientEnd    = PaintHelper.GetLightColor(_ButtonSelectedGradientMiddle, 0.1);
        }