internal static void ActivateProvider(DockPanelControl panel)
        {
            Type panelType = panel.GetType();
            PropertyProvider provider = GetProvider(panelType);

            if (_activeProvider == provider || provider == null)
                return;

            if (_activeProvider != null)
                _activeProvider.Deactivate();

            _activeProvider = provider;

            if (_activeProvider != null)
                _activeProvider.Activate(panel);

            OnActiveProviderChanged(_activeProvider);
        }
 internal static void RegisterProviderByType(Type panelType, PropertyProvider provider)
 {
     _providerMap[panelType] = provider;
 }
 internal static void OnActiveProviderChanged(PropertyProvider provider)
 {
     if (ActiveProviderChanged != null)
         ActiveProviderChanged(provider);
 }
 public static void RegisterProvider(DockPanelControl panel, PropertyProvider provider)
 {
     Type panelType = panel.GetType();
     RegisterProviderByType(panelType, provider);
 }
 void _provider_SelectionChanged(PropertyProvider provider)
 {
     UpdateSelectedItems();
 }
 void _provider_ItemsChanged(PropertyProvider provider)
 {
     UpdateItems();
 }
 void PropertiesManager_ActiveProviderChanged(PropertyProvider provider)
 {
     UnhookProvider();
     _provider = provider;
     HookProvider();
     BuildToolbar();
     RefreshItems();
 }