Esempio n. 1
0
        /// <summary>
        ///		Muestra un panel
        /// </summary>
        public void ShowPane(string windowID, string title, System.Windows.Controls.UserControl control,
                             SystemControllerEnums.DockPosition position = SystemControllerEnums.DockPosition.Bottomm)
        {
            LayoutContent previous = GetLayoutPrevious(windowID);

            if (previous != null)
            {
                previous.IsActive = true;
            }
            else
            {
                LayoutAnchorGroup layoutGroup = GetGroupPane(DockManager.Layout, position);
                LayoutAnchorable  layoutPane  = new LayoutAnchorable {
                    Title = title, ToolTip = title
                };

                // Añade el contenido
                layoutPane.Content   = control;
                layoutPane.ContentId = windowID;
                // Añade el contenido al grupo
                layoutGroup.Children.Add(layoutPane);
                // Añade el panel a la lista de documentos del controlador
                AddDocument(new ToolViewModel(windowID, title, layoutPane, control, position));
            }
        }
Esempio n. 2
0
 public ToolViewModel(string windowID, string name, Xceed.Wpf.AvalonDock.Layout.LayoutContent layoutPane,
                      System.Windows.Controls.UserControl control,
                      SystemControllerEnums.DockPosition position) : base(windowID, name, layoutPane, control)
 {
     Name         = name;
     Title        = name;
     DockPosition = position;
 }
Esempio n. 3
0
        /// <summary>
        ///		Obtiene el grupo de ventanas del panel de la posición especificada
        /// </summary>
        private LayoutAnchorGroup GetGroupPane(LayoutRoot layoutRoot, SystemControllerEnums.DockPosition position)
        {
            LayoutAnchorSide layoutSide = GetAnchorSide(layoutRoot, position);

            // Crea el panel si no existía
            if (layoutSide == null)
            {
                layoutSide = new LayoutAnchorSide();
            }
            // Añade un grupo si no existía
            if (layoutSide.Children == null || layoutSide.Children.Count == 0)
            {
                layoutSide.Children.Add(new LayoutAnchorGroup());
            }
            // Devuelve el primer grupo
            return(layoutSide.Children[0]);
        }
Esempio n. 4
0
        /// <summary>
        ///		Obtiene uno de los elementos laterales del gestor de ventanas
        /// </summary>
        private LayoutAnchorSide GetAnchorSide(LayoutRoot layoutRoot, SystemControllerEnums.DockPosition position)
        {
            switch (position)
            {
            case SystemControllerEnums.DockPosition.Right:
                return(layoutRoot.RightSide);

            case SystemControllerEnums.DockPosition.Left:
                return(layoutRoot.LeftSide);

            case SystemControllerEnums.DockPosition.Top:
                return(layoutRoot.TopSide);

            case SystemControllerEnums.DockPosition.Bottomm:
                return(layoutRoot.BottomSide);

            default:
                throw new NotImplementedException("Posición desconocida");
            }
        }
Esempio n. 5
0
 /// <summary>
 ///		Añade un panel a la ventana principal
 /// </summary>
 public void AddPane(string windowID, string title, System.Windows.Controls.UserControl paneControl,
                     SystemControllerEnums.DockPosition position)
 {
     DockingController.ShowPane(windowID, title, paneControl, position);
 }