Exemple #1
0
        /// <summary>Apply the specified selector (style) to the specified widget</summary>
        /// <param name="Widget">The widget that should "got" the style</param>
        /// <param name="Style">The specified selector with the desired style</param>
        public void ApplyStyle(Xwt.Widget Widget, string Pattern)
        {
            if (Widget.GetType() == typeof(Xwt.Label)) { ApplyStyle((Xwt.Label)Widget, Pattern); return; }
            if (Widget.GetType() == typeof(Xwt.Box)) { ApplyStyle((Xwt.Box)Widget, Pattern); return; }

            Selector Selector = CSS[Pattern];

            if (Selector.Declarations["background-color"].Value != "inherit")
            Widget.BackgroundColor =
            Utilities.GetXwtColor(
                Selector.Declarations["background-color"].Value
            );

            if (Selector.Declarations["font-family"].Value != "inherit")
            Widget.Font = Xwt.Drawing.Font.FromName(
                Selector.Declarations["font-family"].Value
            );

            Widget.Visible = Selector.Declarations["display"].Value == "none" ? false : true;
        }
Exemple #2
0
        /// <summary>Enable theming of the widget</summary>
        /// <param name="Widget">The widget that needs to be themized</param>
        /// <param name="Selector">The selector pattern</param>
        public void Stylize(Xwt.Widget Widget, string Selector = "Widget")
        {
            if (!semaphore) {
                semaphore = true;
                Stylize(Widget, "Widget"); //apply default style for all widgets
                try {
                    Stylize(Widget, Widget.GetType().ToString().Substring(Widget.GetType().ToString().IndexOf('.') + 1)); //apply default style for the widget type
                }
                catch { Console.WriteLine("NOTICE: No style is set for widgets of type " + Widget.GetType().ToString().Substring(Widget.GetType().ToString().IndexOf('.') + 1)); }
                semaphore = false;
            }

            ApplyStyle(Widget, Selector);

            Widget.MouseEntered+=(o,ea)=>
            { ApplyStyle(Widget, Selector + ":hover"); };

            Widget.MouseExited+=(o,ea)=>
            {
                ApplyStyle(Widget, Selector);
                if (Widget.HasFocus)
                    ApplyStyle(Widget, Selector + ":focus");
            };

            Widget.ButtonPressed+=(o,ea)=>
            { ApplyStyle(Widget, Selector + ":active"); };

            Widget.GotFocus+=(o,ea)=>
            { ApplyStyle(Widget, Selector + ":focus"); };

            Widget.LostFocus += (o, ea) =>
            { ApplyStyle(Widget, Selector); };

            Widget.ButtonReleased+=(o,ea)=>
            {
                ApplyStyle(Widget, Selector);
                if (Widget.HasFocus)
                    ApplyStyle(Widget, Selector + ":focus");
            };
        }