Imports System.ComponentModel.Composition
Imports System.Globalization
Imports Effector.Plugin.Interface

<Export(GetType(IPluginControl))>
<ExportMetadata("Name", "Dictionary")>
Public Class Dictionary
   Inherits ResourceDictionary
   Implements IPluginControl

   Public Shared ReadOnly MySceneHostVM As String = "MySceneHostVM"

#Region "Colors"

   'Private Shared m_Button_Static_Background As SolidColorBrush = New BrushConverter().ConvertFrom("#FFDDDDDD")
   'Public Shared ReadOnly Property Button_Static_Background As SolidColorBrush
   '   Get
   '      Return m_Button_Static_Background
   '   End Get
   'End Property

   'Private Shared m_TabControl_Header_Background As LinearGradientBrush = Application.Current.FindResource("TabItem.Static.Background")
   'Public Shared ReadOnly Property TabControl_Header_Background As LinearGradientBrush
   '   Get
   '      Return m_TabControl_Header_Background
   '   End Get
   'End Property


   Private Shared m_Effector_LightBlue As SolidColorBrush = Application.Current.FindResource("Effector_LightBlue")
   Public Shared ReadOnly Property Effector_LightBlue As SolidColorBrush
      Get
         Return m_Effector_LightBlue
      End Get
   End Property

   Private Shared m_Effector_Blue As SolidColorBrush = Application.Current.FindResource("Effector_Blue")
   Public Shared ReadOnly Property Effector_Blue As SolidColorBrush
      Get
         Return m_Effector_Blue
      End Get
   End Property

   Private Shared m_Effector_DarkBlue As SolidColorBrush = Application.Current.FindResource("Effector_DarkBlue")
   Public Shared ReadOnly Property Effector_DarkBlue As SolidColorBrush
      Get
         Return m_Effector_DarkBlue
      End Get
   End Property

   Private Shared m_Effector_LightBlue_Status As SolidColorBrush = Application.Current.FindResource("Effector_LightBlue_Status")
   Public Shared ReadOnly Property Effector_LightBlue_Status As SolidColorBrush
      Get
         Return m_Effector_LightBlue_Status
      End Get
   End Property

   Private Shared m_Effector_Blue_Status As SolidColorBrush = Application.Current.FindResource("Effector_Blue_Status")
   Public Shared ReadOnly Property Effector_Blue_Status As SolidColorBrush
      Get
         Return m_Effector_Blue_Status
      End Get
   End Property

   Private Shared m_Effector_Red_Status As SolidColorBrush = Application.Current.FindResource("Effector_Red_Status")
   Public Shared ReadOnly Property Effector_Red_Status As SolidColorBrush
      Get
         Return m_Effector_Red_Status
      End Get
   End Property

   Private Shared m_Effector_Green_Status As SolidColorBrush = Application.Current.FindResource("Effector_Green_Status")
   Public Shared ReadOnly Property Effector_Green_Status As SolidColorBrush
      Get
         Return m_Effector_Green_Status
      End Get
   End Property

   Private Shared m_Effector_Gray_Status As SolidColorBrush = Application.Current.FindResource("Effector_Gray_Status")
   Public Shared ReadOnly Property Effector_Gray_Status As SolidColorBrush
      Get
         Return m_Effector_Gray_Status
      End Get
   End Property

   Private Shared m_Effector_Yellow_Status As SolidColorBrush = Application.Current.FindResource("Effector_Yellow_Status")
   Public Shared ReadOnly Property Effector_Yellow_Status As SolidColorBrush
      Get
         Return m_Effector_Yellow_Status
      End Get
   End Property

   Private Shared m_Effector_LightBlue_SelStatus As SolidColorBrush = Application.Current.FindResource("Effector_LightBlue_SelStatus")
   Public Shared ReadOnly Property Effector_LightBlue_SelStatus As SolidColorBrush
      Get
         Return m_Effector_LightBlue_SelStatus
      End Get
   End Property

   Private Shared m_Effector_Blue_SelStatus As SolidColorBrush = Application.Current.FindResource("Effector_Blue_SelStatus")
   Public Shared ReadOnly Property Effector_Blue_SelStatus As SolidColorBrush
      Get
         Return m_Effector_Blue_SelStatus
      End Get
   End Property

   Private Shared m_Effector_Red_SelStatus As SolidColorBrush = Application.Current.FindResource("Effector_Red_SelStatus")
   Public Shared ReadOnly Property Effector_Red_SelStatus As SolidColorBrush
      Get
         Return m_Effector_Red_SelStatus
      End Get
   End Property

   Private Shared m_Effector_Green_SelStatus As SolidColorBrush = Application.Current.FindResource("Effector_Green_SelStatus")
   Public Shared ReadOnly Property Effector_Green_SelStatus As SolidColorBrush
      Get
         Return m_Effector_Green_SelStatus
      End Get
   End Property

   Private Shared m_Effector_Gray_SelStatus As SolidColorBrush = Application.Current.FindResource("Effector_Gray_SelStatus")
   Public Shared ReadOnly Property Effector_Gray_SelStatus As SolidColorBrush
      Get
         Return m_Effector_Gray_SelStatus
      End Get
   End Property

   Private Shared m_Effector_Yellow_SelStatus As SolidColorBrush = Application.Current.FindResource("Effector_Yellow_SelStatus")
   Public Shared ReadOnly Property Effector_Yellow_SelStatus As SolidColorBrush
      Get
         Return m_Effector_Yellow_SelStatus
      End Get
   End Property

   Private Shared m_Effector_White_SelStatus As SolidColorBrush = Application.Current.FindResource("Effector_White_SelStatus")
   Public Shared ReadOnly Property Effector_White_SelStatus As SolidColorBrush
      Get
         Return m_Effector_White_SelStatus
      End Get
   End Property





   'Private Shared m_Omag_Black As SolidColorBrush = Application.Current.FindResource("Omag_Black")
   'Public Shared ReadOnly Property Omag_Black As SolidColorBrush
   '   Get
   '      Return m_Omag_Black
   '   End Get
   'End Property

   'Private Shared m_Omag_DarkGray As SolidColorBrush = Application.Current.FindResource("Omag_DarkGray")
   'Public Shared ReadOnly Property Omag_DarkGray As SolidColorBrush
   '   Get
   '      Return m_Omag_DarkGray
   '   End Get
   'End Property

   'Private Shared m_Omag_LightGray As SolidColorBrush = Application.Current.FindResource("Omag_LightGray")
   'Public Shared ReadOnly Property Omag_LightGray As SolidColorBrush
   '   Get
   '      Return m_Omag_LightGray
   '   End Get
   'End Property

   'Private Shared m_Effector_Orange As SolidColorBrush = Application.Current.FindResource("Effector_Orange")
   'Public Shared ReadOnly Property Effector_Orange As SolidColorBrush
   '   Get
   '      Return m_Effector_Orange
   '   End Get
   'End Property

   'Private Shared m_Icarus_LightBlue As SolidColorBrush = Application.Current.FindResource("Effector_LightBlue_Color")
   'Public Shared ReadOnly Property Icarus_LightBlue As SolidColorBrush
   '   Get
   '      Return m_Icarus_LightBlue
   '   End Get
   'End Property

   'Private Shared m_Icarus_Blue As SolidColorBrush = Application.Current.FindResource("Icarus_Blue")
   'Public Shared ReadOnly Property Icarus_Blue As SolidColorBrush
   '   Get
   '      Return m_Icarus_Blue
   '   End Get
   'End Property

   'Private Shared m_Icarus_Green As SolidColorBrush = Application.Current.FindResource("Icarus_Green")
   'Public Shared ReadOnly Property Icarus_Green As SolidColorBrush
   '   Get
   '      Return m_Icarus_Green
   '   End Get
   'End Property


   'Private Shared m_Icarus_Purple As SolidColorBrush = Application.Current.FindResource("Icarus_Purple")
   'Public Shared ReadOnly Property Icarus_Purple As SolidColorBrush
   '   Get
   '      Return m_Icarus_Purple
   '   End Get
   'End Property

   '<SolidColorBrush x : Key="Icarus_Gray" Color="#92908d" />
   '<SolidColorBrush x : Key="Icarus_LightBlue" Color="#3c89c9" />
   '<SolidColorBrush x : Key="Icarus_Blue" Color="#2e5a81" />
   '<SolidColorBrush x : Key="Icarus_Green" Color="#40826d" />
   '<SolidColorBrush x : Key="Icarus_Orange" Color="#C37636" />
   '<SolidColorBrush x : Key="Icarus_Purple" Color="#990066" />

#End Region    ' Colors

End Class

Public Class CenterToolTipConverter
   Implements IMultiValueConverter

   Public Function Convert(ByVal values As Object(), ByVal targetType As Type, ByVal parameter As Object, ByVal culture As CultureInfo) As Object Implements IMultiValueConverter.Convert
      For Each value In values
         If TypeOf (value) IsNot Double Then
            Return Double.NaN
         End If
      Next
      Dim dPlacementTarget As Double = CDbl(values(0))
      Dim dToolTip As Double = CDbl(values(1))
      Return (dPlacementTarget / 2.0) - (dToolTip / 2.0)
   End Function

   Public Function ConvertBack(ByVal value As Object, ByVal targetTypes As Type(), ByVal parameter As Object, ByVal culture As CultureInfo) As Object() Implements IMultiValueConverter.ConvertBack
      Throw New NotSupportedException()
   End Function

End Class
