public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (!(value is Log9KCore.LogEntryType))
            {
                // Value is not an LogEntryType. Do not throw an exception
                // in the converter, but return something that is obviously wrong
                return(Brushes.Purple);
            }
            Log9KCore.LogEntryType type = (Log9KCore.LogEntryType)value;
            switch (type)
            {
            case Log9KCore.LogEntryType.INFO:
                return(Brushes.Black);

            case Log9KCore.LogEntryType.ERROR:
                return(Brushes.DarkRed);

            case Log9KCore.LogEntryType.CRITICAL_ERROR:
                return(Brushes.Red);

            case Log9KCore.LogEntryType.SUCCESS:
                return(Brushes.Green);

            case Log9KCore.LogEntryType.CODE_FLOW:
                return(Brushes.DarkGray);

            case Log9KCore.LogEntryType.CUSTOM:
                return(Brushes.CornflowerBlue);

            default:
                return(Brushes.Black);
            }
        }
        /// <summary>
        /// Method that creates TabItem for Log9KTab and filling it with ui elements.
        /// </summary>
        /// <param name="log9KTab"></param>
        /// <returns></returns>
        private static TabItem CreateTabItem(Log9KTab log9KTab)
        {
            string name = log9KTab.TabName;

            Log9KCore.LogEntryType            type = log9KTab.TabType;
            ObservableCollection <Log9KEntry> logEntryCollection = log9KTab.LogEntryCollection;

            TabItem tabItem = new TabItem {
                Header = name
            };


            /* Header of Tab: text and icon */
            StackPanel headerStackPanel = new StackPanel {
                Orientation = Orientation.Horizontal
            };

            headerStackPanel.Children.Add(new TextBlock {
                Text = name,
                HorizontalAlignment = HorizontalAlignment.Left,
                Foreground          = _typeToColorConverter.Convert(type)
            });
            try {
                BitmapImage iconBitmapImage = new BitmapImage(IconForDefaultTabs(log9KTab));
                Image       icon            = new Image {
                    Source = iconBitmapImage,
                    Width  = ICON_WIDTH,
                    Height = ICON_HEIGHT,
                    HorizontalAlignment = HorizontalAlignment.Right
                };
                headerStackPanel.Children.Add(icon);
            } catch (IOException) {
                Debug.WriteLine("Can't find icon for: " + name);
            }
            tabItem.Header = headerStackPanel;
            /*------------------------------------------------------------ */


            /*------------------------------------------------------------ */

            /*
             * <Style TargetType="DataGridRow">
             * <Style.Triggers>
             * <DataTrigger Binding="{Binding Path=City_name}" Value="SomeCity">
             * <Setter Property="Background" Value="{StaticResource SomeCityBackground}"/>
             * </DataTrigger>
             * </Style.Triggers>
             * </Style>
             */

            return(tabItem);
        }
 public Brush Convert(Log9KCore.LogEntryType type)
 {
     return((Brush)Convert(type, null, null, null));
 }