Beispiel #1
1
        /// <summary>
        /// Initializes a new instance of the <see cref="AutoHideOverlay"/> class.
        /// </summary>
        /// <param name="dockControl">
        /// The <see cref="DockControl"/>. Can be <see langword="null"/>.
        /// </param>
        /// <param name="target">
        /// The target element over which the overlay window should appear.
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// <paramref name="target"/> is <see langword="null"/>.
        /// </exception>
        public AutoHideOverlay(DockControl dockControl, FrameworkElement target)
            : base(target)
        {
            DockControl = dockControl;
            Owner = GetWindow(target);
            SourceInitialized += OnSourceInitialized;

            Loaded += OnLoaded;
            Unloaded += OnUnloaded;
        }
Beispiel #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="FloatWindow"/> class.
        /// </summary>
        /// <param name="dockControl">The <see cref="DockControl"/>.</param>
        /// <exception cref="ArgumentNullException">
        /// <paramref name="dockControl"/> is <see langword="null"/>.
        /// </exception>
        internal FloatWindow(DockControl dockControl)
        {
            if (dockControl == null)
                throw new ArgumentNullException(nameof(dockControl));

            DockControl = dockControl;
            Loaded += OnLoaded;
            Unloaded += OnUnloaded;
        }
Beispiel #3
0
        private void RemoveCommandBindings(DockControl dockControl)
        {
            if (dockControl == null)
                return;

            foreach (var floatWindow in dockControl.FloatWindows)
                RemoveCommandBindings(floatWindow);

            foreach (var autoHideOverlay in dockControl.AutoHideOverlays)
                RemoveCommandBindings(autoHideOverlay);
        }
Beispiel #4
0
        private void AddInputBindings(DockControl dockControl)
        {
            if (dockControl == null)
                return;

            foreach (var floatWindow in dockControl.FloatWindows)
                AddInputBindings(floatWindow);

            foreach (var autoHideOverlay in dockControl.AutoHideOverlays)
                AddInputBindings(autoHideOverlay);
        }
Beispiel #5
0
        //--------------------------------------------------------------
        /// <summary>
        /// Initializes a new instance of the <see cref="DragManager"/> class.
        /// </summary>
        /// <param name="dockControl">The <see cref="DockControl"/>.</param>
        /// <exception cref="ArgumentNullException">
        /// <paramref name="dockControl"/> is <see langword="null"/>.
        /// </exception>
        internal DragManager(DockControl dockControl)
        {
            if (dockControl == null)
                throw new ArgumentNullException(nameof(dockControl));

            _dockControl = dockControl;

            Reset();

            // Register event handlers.
            ((INotifyCollectionChanged)_dockControl.DockTabPanes).CollectionChanged += OnDockTabPanesChanged;
        }
Beispiel #6
0
        //--------------------------------------------------------------
        #region Creation & Cleanup
        //--------------------------------------------------------------

        /// <summary>
        /// Initializes a new instance of the <see cref="DragManager"/> class.
        /// </summary>
        /// <param name="dockControl">The <see cref="DockControl"/>.</param>
        /// <exception cref="ArgumentNullException">
        /// <paramref name="dockControl"/> is <see langword="null"/>.
        /// </exception>
        internal DragManager(DockControl dockControl)
        {
            if (dockControl == null)
            {
                throw new ArgumentNullException(nameof(dockControl));
            }

            _dockControl = dockControl;

            Reset();

            // Register event handlers.
            ((INotifyCollectionChanged)_dockControl.DockTabPanes).CollectionChanged += OnDockTabPanesChanged;
        }
Beispiel #7
0
 internal static IDockControl GetViewModel(this DockControl view)
 {
     return(GetViewModel <IDockControl>(view));
 }
Beispiel #8
0
        /// <summary>
        /// Gets the primary DockWidth/DockHeight value for the given element.
        /// </summary>
        private static GridLength GetPrimaryDockSize(DependencyObject element, Orientation orientation)
        {
            if (element == null)
            {
                return(GridLength.Auto);
            }

            return((orientation == Orientation.Vertical) ? DockControl.GetDockHeight(element) : DockControl.GetDockWidth(element));
        }
Beispiel #9
0
        private void OnUnloaded(object sender, RoutedEventArgs eventArgs)
        {
            if (_dockControl != null)
            {
                _dockControl.Unregister(this);
                _dockControl = null;
            }

            UpdateVisualStates(true);
        }
Beispiel #10
0
        private void OnLoaded(object sender, RoutedEventArgs eventArgs)
        {
            _dockControl = DockHelper.GetDockControl(this);
            if (_dockControl != null)
            {
                _dockControl.Register(this);
                CommandManager.InvalidateRequerySuggested();
            }

            UpdateVisualStates(true);
        }
Beispiel #11
0
        private void OnLoaded(object sender, RoutedEventArgs eventArgs)
        {
            _dockControl = DockHelper.GetDockControl(this);
            _dockControl?.Register(this);

            UpdateVisualStates(true);
        }