Facebook
From Styles, 3 Years ago, written in C#.
Embed
Download Paste or View Raw
Hits: 133
  1.     public abstract class StyleGroup : IReadOnlyCollection<Style>
  2.     {
  3.         private readonly HashSet<Style> _styles = new HashSet<Style>();
  4.  
  5.         public int Count => _styles.Count;
  6.  
  7.         public void Add(Style style)
  8.         {
  9.             _styles.Add(style);
  10.         }
  11.  
  12.         public void AddRange(IEnumerable<Style> styles)
  13.         {
  14.             foreach (Style style in styles) {
  15.                 _styles.Add(style);
  16.             }
  17.         }
  18.  
  19.         public void AddRange(params Style[] styles)
  20.         {
  21.             foreach (Style style in styles) {
  22.                 _styles.Add(style);
  23.             }
  24.         }
  25.  
  26.         public IEnumerator<Style> GetEnumerator()
  27.         {
  28.             return _styles.GetEnumerator();
  29.         }
  30.  
  31.         IEnumerator IEnumerable.GetEnumerator()
  32.         {
  33.             return _styles.GetEnumerator();
  34.         }
  35.     }
  36.  
  37.     public class ProcessStyleGroup : StyleGroup
  38.     {
  39.         public ProcessStyleGroup()
  40.         {
  41.             CreateTextBlockStyles();
  42.             CreateBorderStyles();
  43.             CreateButtonStyles();
  44.         }
  45.  
  46.         private void CreateTextBlockStyles()
  47.         {
  48.             Style insertStyle = new Style();
  49.             insertStyle.Selector = insertStyle.Selector.OfType<TextBlock>().Class("Insert");
  50.             insertStyle.Setters.Add(new Setter(TextBlock.ForegroundProperty, ColorPalette.Green.GetLightThemeBrush()));
  51.  
  52.             Style deleteStyle = new Style();
  53.             deleteStyle.Selector = deleteStyle.Selector.OfType<TextBlock>().Class("Delete");
  54.             deleteStyle.Setters.Add(new Setter(TextBlock.ForegroundProperty, ColorPalette.Red.GetLightThemeBrush()));
  55.  
  56.             Style updateStyle = new Style();
  57.             updateStyle.Selector = updateStyle.Selector.OfType<TextBlock>().Class("Update");
  58.             updateStyle.Setters.Add(new Setter(TextBlock.ForegroundProperty, ColorPalette.Blue.GetLightThemeBrush()));
  59.  
  60.             Style selectStyle = new Style();
  61.             selectStyle.Selector = selectStyle.Selector.OfType<TextBlock>().Class("Select");
  62.             selectStyle.Setters.Add(new Setter(TextBlock.ForegroundProperty, ColorPalette.Yellow.GetLightThemeBrush()));
  63.  
  64.             Style registerStyle = new Style();
  65.             registerStyle.Selector = registerStyle.Selector.OfType<TextBlock>().Class("Register");
  66.             registerStyle.Setters.Add(new Setter(TextBlock.ForegroundProperty, ColorPalette.Turquoise.GetLightThemeBrush()));
  67.  
  68.             Style unregisterStyle = new Style();
  69.             unregisterStyle.Selector = unregisterStyle.Selector.OfType<TextBlock>().Class("Unregister");
  70.             unregisterStyle.Setters.Add(new Setter(TextBlock.ForegroundProperty, ColorPalette.Purple.GetLightThemeBrush()));
  71.  
  72.             AddRange(insertStyle, deleteStyle, updateStyle, selectStyle, registerStyle, unregisterStyle);
  73.         }
  74.  
  75.         private void CreateBorderStyles()
  76.         {
  77.             Style rootStyle = new Style(x => x.OfType<Border>().Class("Process"));
  78.             rootStyle.Setters.Add(new Setter(Border.BorderBrushProperty, Brushes.White));
  79.             rootStyle.Setters.Add(new Setter(Border.BorderThicknessProperty, new Thickness(1)));
  80.             rootStyle.Setters.Add(new Setter(Decorator.PaddingProperty, new Thickness(8, 4)));
  81.  
  82.             Style insertStyle = new Style(x => x.OfType<Border>().Class("Insert"));
  83.             insertStyle.Setters.Add(new Setter(Border.BackgroundProperty, ColorPalette.Green.GetLightThemeBrush()));
  84.  
  85.             Style deleteStyle = new Style(x => x.OfType<Border>().Class("Delete"));
  86.             deleteStyle.Setters.Add(new Setter(Border.BackgroundProperty, ColorPalette.Red.GetLightThemeBrush()));
  87.  
  88.             Style updateStyle = new Style(x => x.OfType<Border>().Class("Update"));
  89.             updateStyle.Setters.Add(new Setter(Border.BackgroundProperty, ColorPalette.Blue.GetLightThemeBrush()));
  90.  
  91.             Style selectStyle = new Style(x => x.OfType<Border>().Class("Select"));
  92.             selectStyle.Setters.Add(new Setter(Border.BackgroundProperty, ColorPalette.Yellow.GetLightThemeBrush()));
  93.  
  94.             Style registerStyle = new Style(x => x.OfType<Border>().Class("Register"));
  95.             registerStyle.Setters.Add(new Setter(Border.BackgroundProperty, ColorPalette.Turquoise.GetLightThemeBrush()));
  96.  
  97.             Style unregisterStyle = new Style(x => x.OfType<Border>().Class("Unregister"));
  98.             unregisterStyle.Setters.Add(new Setter(Border.BackgroundProperty, ColorPalette.Purple.GetLightThemeBrush()));
  99.  
  100.             AddRange(rootStyle, insertStyle, deleteStyle, updateStyle, selectStyle, registerStyle, unregisterStyle);
  101.         }
  102.  
  103.         private void CreateButtonStyles()
  104.         {
  105.             Style rootStyle = new Style(x => x.OfType<Button>().Class("Process"));
  106.             rootStyle.Setters.Add(new Setter(Decorator.PaddingProperty, new Thickness(8, 4)));
  107.  
  108.             Style rootTextBlockStyle = new Style(x => x.OfType<Button>().Class("Process").Template().OfType<TextBlock>());
  109.             rootTextBlockStyle.Setters.Add(new Setter(TextBlock.ForegroundProperty, Brushes.White));
  110.             rootTextBlockStyle.Setters.Add(new Setter(TextBlock.FontWeightProperty, FontWeight.DemiBold));
  111.  
  112.             Style insertStyle = new Style(x => x.OfType<Button>().Class("Insert"));
  113.             insertStyle.Setters.Add(new Setter(Button.BackgroundProperty, ColorPalette.Green.GetLightThemeBrush()));
  114.  
  115.             Style deleteStyle = new Style();
  116.             deleteStyle.Selector = deleteStyle.Selector.OfType<Button>().Class("Delete");
  117.             deleteStyle.Setters.Add(new Setter(Button.BackgroundProperty, ColorPalette.Red.GetLightThemeBrush()));
  118.  
  119.             Style updateStyle = new Style();
  120.             updateStyle.Selector = updateStyle.Selector.OfType<Button>().Class("Update");
  121.             updateStyle.Setters.Add(new Setter(Button.BackgroundProperty, ColorPalette.Blue.GetLightThemeBrush()));
  122.  
  123.             Style selectStyle = new Style();
  124.             selectStyle.Selector = selectStyle.Selector.OfType<Button>().Class("Select");
  125.             selectStyle.Setters.Add(new Setter(Button.BackgroundProperty, ColorPalette.Yellow.GetLightThemeBrush()));
  126.  
  127.             Style registerStyle = new Style();
  128.             registerStyle.Selector = registerStyle.Selector.OfType<Button>().Class("Register");
  129.             registerStyle.Setters.Add(new Setter(Button.BackgroundProperty, ColorPalette.Turquoise.GetLightThemeBrush()));
  130.  
  131.             Style unregisterStyle = new Style();
  132.             unregisterStyle.Selector = unregisterStyle.Selector.OfType<Button>().Class("Unregister");
  133.             unregisterStyle.Setters.Add(new Setter(Button.BackgroundProperty, ColorPalette.Purple.GetLightThemeBrush()));
  134.  
  135.             Style generateStyle = new Style(x => x.OfType<Button>().Class("Generate"));
  136.             generateStyle.Setters.Add(new Setter(Button.BackgroundProperty, ColorPalette.BlueGreen.GetLightThemeBrush()));
  137.  
  138.             AddRange(rootStyle, insertStyle, deleteStyle, updateStyle, selectStyle, registerStyle, unregisterStyle);
  139.         }
  140.     }

Replies to Untitled rss

Title Name Language When
Styles aaechoman csharp 3 Years ago.