source: trunk/CrypPlugins/WorkspaceManager/Model/ColorHelper.cs @ 2280

Last change on this file since 2280 was 2072, checked in by matkovic, 11 years ago

-Slight style changes
-settings now is now ~80% working
-tooltip added

File size: 3.6 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using System.Numerics;
6using System.Windows.Media;
7using Cryptool.PluginBase;
8using System.Reflection;
9using Cryptool.PluginBase.Cryptography;
10using Cryptool.PluginBase.Analysis;
11using Cryptool.PluginBase.Generator;
12using Cryptool.PluginBase.IO;
13using System.IO;
14using Cryptool.PluginBase.Control;
15
16namespace WorkspaceManager.Model
17{
18    public class ColorHelper
19    {
20        /// <summary>
21        /// Returns a Color for a given Type
22        ///
23        /// example:
24        ///     System.String -> Colors.LightGray;
25        ///     
26        /// </summary>
27        /// <param name="obj"></param>
28        /// <returns></returns>
29        public static Color GetColor(Type type)
30        {           
31
32                if (type.GetInterface(typeof(IEncryption).Name) != null)
33                {
34                    EncryptionTypeAttribute eta = type.GetEncryptionTypeAttribute();
35                    switch (eta.EncryptionType)
36                    {
37                        case EncryptionType.Asymmetric:
38                            return (Color)ColorConverter.ConvertFromString("#6789a2");
39
40                        case EncryptionType.Classic:
41                            return (Color)ColorConverter.ConvertFromString("#b8c881");
42
43                        case EncryptionType.SymmetricBlock:
44                            return (Color)ColorConverter.ConvertFromString("#d49090");
45
46                        case EncryptionType.SymmetricStream:
47                            return (Color)ColorConverter.ConvertFromString("#94bc8a");
48
49                        case EncryptionType.Hybrid:
50                            return (Color)ColorConverter.ConvertFromString("#d49090");
51                    }
52                }
53
54                if (type.GetInterface(typeof(IGenerator).Name) != null)
55                {
56                    return (Color)ColorConverter.ConvertFromString("#8abc94");
57                }
58
59                if (type.GetInterface(typeof(IHash).Name) != null)
60                {
61                    return (Color)ColorConverter.ConvertFromString("#8abbbc");
62                }
63
64                if (type.GetInterface(typeof(IStatistic).Name) != null)
65                {
66                    return (Color)ColorConverter.ConvertFromString("#8c8abc");
67                }
68
69                if (type.GetInterface(typeof(IAnalysisMisc).Name) != null)
70                {
71                    return (Color)ColorConverter.ConvertFromString("#bc8aac");
72                }
73
74                return (Color)ColorConverter.ConvertFromString("#a3d090");
75           
76        }
77
78        public static Color GetLineColor(Type type)
79        {
80            if (typeof(int).Equals(type) || typeof(int[]).Equals(type)) return Colors.Aqua;
81            if (typeof(byte[]).Equals(type) || typeof(byte[]).Equals(type)) return Colors.ForestGreen;
82            if (typeof(double).Equals(type) || typeof(double[]).Equals(type)) return Colors.Blue;
83            if (typeof(bool).Equals(type) || typeof(bool[]).Equals(type)) return Colors.Maroon;
84
85            if (typeof(CryptoolStream).Equals(type)) return Colors.Orange;
86            if (typeof(Stream).Equals(type) || typeof(CStream).Equals(type)) return Colors.DarkOrange;
87            if (typeof(string).Equals(type) || typeof(string[]).Equals(type)) return Colors.Gray;
88
89            if (typeof(object).Equals(type)) return Colors.MediumPurple;
90            if (typeof(BigInteger).Equals(type)) return Colors.Black;
91            return Colors.Black;
92        }
93    }
94}
Note: See TracBrowser for help on using the repository browser.