- gestita abilitazione redis
- aggiunto Dictionary plugin
This commit is contained in:
@@ -48,26 +48,31 @@ Public Class MainWindowVM
|
||||
|
||||
' creo gestore delle macchine a stati
|
||||
m_FiniteStateMachineManager = New FiniteStateMachineManager
|
||||
If GetMainPrivateProfileInt(S_REDIS, K_ENABLED, 0) = 1 Then
|
||||
m_RedisManager = New RedisManager
|
||||
End If
|
||||
|
||||
m_RedisManager = New RedisManager
|
||||
|
||||
Dim PluginUI As IPluginControl = GetControlByName(Of IPluginControl)("Supervisor.Plugin.FiveLakes")
|
||||
ContentPanel = PluginUI
|
||||
' aggiungo Dictionary del plugin
|
||||
Dim PluginDictionary As IPluginControl = GetDictionary(Of IPluginControl)("Supervisor.Plugin.FiveLakes")
|
||||
Application.Current.Resources.MergedDictionaries.Add(PluginDictionary)
|
||||
' aggiungo MainMenu dal plugin
|
||||
Dim PluginMainMenu As IPluginControl = GetControlByName(Of IPluginControl)("Supervisor.Plugin.FiveLakes", "MainMenu")
|
||||
'ContentPanel = PluginMainMenu
|
||||
' aggiungo Project dal plugin
|
||||
Dim ProjectPlugin As IPluginControl = GetControlByName(Of IPluginControl)("Supervisor.Plugin.FiveLakes", "Project")
|
||||
ContentPanel = ProjectPlugin
|
||||
End Sub
|
||||
|
||||
#Region "Plugin"
|
||||
|
||||
Private m_Loader As MEFLoader = New MEFLoader()
|
||||
|
||||
Private Function GetPathByName(ByVal name As String) As String
|
||||
'Dim PluginNameSplit() As String = name.Split("."c)
|
||||
'Dim res = MainWindowM.sDataRoot & "\Plugin\" & PluginNameSplit(0)
|
||||
Dim res = MainWindowM.sDataRoot & "\Plugin\" & name
|
||||
Return res
|
||||
Private Function GetPathByName(sPluginFileName As String) As String
|
||||
Return MainWindowM.sDataRoot & "\Plugin\" & sPluginFileName
|
||||
End Function
|
||||
|
||||
Friend Function GetControlByName(Of T)(sName As String) As Panel
|
||||
Dim PlugInControl As Object = m_Loader.LoadByTag(Of T)(GetPathByName(sName), sName).FirstOrDefault()
|
||||
Friend Function GetControlByName(Of T)(sPluginFileName As String, sPluginTagName As String) As Panel
|
||||
Dim PlugInControl As Object = m_Loader.LoadByTag(Of T)(GetPathByName(sPluginFileName), sPluginTagName).FirstOrDefault()
|
||||
Dim PluginPanel As Panel = Nothing
|
||||
If PlugInControl.GetType().BaseType.FullName = GetType(Panel).FullName OrElse PlugInControl.GetType().BaseType.FullName = GetType(Grid).FullName Then
|
||||
PluginPanel = TryCast(PlugInControl, Panel)
|
||||
@@ -75,6 +80,13 @@ Public Class MainWindowVM
|
||||
Return PluginPanel
|
||||
End Function
|
||||
|
||||
Friend Function GetDictionary(Of T)(sPluginFileName As String) As ResourceDictionary
|
||||
Dim DictionaryControl As Object = m_Loader.LoadByTag(Of T)(GetPathByName(sPluginFileName), "Dictionary").FirstOrDefault()
|
||||
Dim Dictionary As ResourceDictionary = Nothing
|
||||
Dictionary = TryCast(DictionaryControl, ResourceDictionary)
|
||||
Return DictionaryControl
|
||||
End Function
|
||||
|
||||
#End Region ' Plugin
|
||||
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user