Esempio n. 1
0
        void PrepareDemoModuleRoot(DemoModule demoModuleControl)
        {
            var manager = ((Grid)demoModuleControl.Content).Children[0] as DockLayoutManager;

            if (manager != null)
            {
                demoModuleControl.Root = demoModuleControl;
                return;
            }
            manager = new DockLayoutManager()
            {
                Background = new SolidColorBrush(Colors.Transparent)
            };
            manager.LayoutRoot = new LayoutGroup()
            {
                Orientation = Orientation.Horizontal, Background = new SolidColorBrush(Colors.Transparent)
            };
            var demoModulePanel = new LayoutPanel()
            {
                ShowCaption = false, ShowBorder = false, Background = new SolidColorBrush(Colors.Transparent)
            };

            demoModulePanel.Content = demoModuleControl;
            manager.LayoutRoot.Add(demoModulePanel);
            demoModuleControl.Root = manager;
        }
Esempio n. 2
0
        private void dockManager_DockItemClosing(object sender, DevExpress.Xpf.Docking.Base.ItemCancelEventArgs e)
        {
            DockLayoutManager documentManager = sender as DockLayoutManager;
            var item = documentManager.ActiveDockItem;

            if (item != null && item.ActualCaption != null && item.ActualCaption.ToString() == "测试结果")
            {
                var result = DXMessageBox.Show("是否关闭测试界面?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
                if (result == MessageBoxResult.Yes)
                {
                    e.Cancel = false;
                }
                else
                {
                    e.Cancel = true;
                }
            }
            else if (item != null && item.ActualCaption != null && item.ActualCaption.ToString() == "本地校准")
            {
                if (TestPlanManager.CurrentTestPlan == null)
                {
                    return;
                }
                var dialogResult = DXMessageBox.Show("是否保存校准?", "提示", MessageBoxButton.OKCancel);
                if (dialogResult == MessageBoxResult.OK)
                {
                    Interface.SaveAllLocalSettings(TestPlanManager.CurrentTestPlan);
                }
            }
        }
        public string Resolve(DockLayoutManager owner, object item)
        {
            Person p = item as Person;

            if (p.IsTabbed)
            {
                return("TabbedGroup1");
            }
            if (p.IsFloat)
            {
                var        floatGroups = owner.FloatGroups;
                FloatGroup fg;
                if (floatGroups.Count == 0)
                {
                    fg      = new FloatGroup();
                    fg.Name = "NewFloatGroup1";
                    owner.FloatGroups.Add(fg);
                }
                else
                {
                    fg = floatGroups[0];
                }
                return(fg.Name);
            }
            return(p.ParentName);
        }
Esempio n. 4
0
        private void addViews(LayoutPanel pan1, CameraContainer activecam)
        {
            DockLayoutManager doc = new DockLayoutManager();

            pan1.Content = doc;
            LayoutGroup gr2 = new LayoutGroup()
            {
                Orientation = Orientation.Horizontal
            };

            doc.LayoutRoot = gr2;
            LayoutPanel settings = new LayoutPanel();

            settings.Content = activecam.settings;
            gr2.Add(settings);
            LayoutPanel prev = new LayoutPanel();

            prev.Content = activecam.preview;
            gr2.Add(prev);
            LayoutPanel hist = new LayoutPanel();

            hist.Content = activecam.hist;
            gr2.Add(hist);
            pan1.Caption = activecam.Name;   //panel contains preview
        }
Esempio n. 5
0
        //初始化布局
        private void InitFormLayout()
        {
            this.IsMdiContainer = true;
            _LayoutManager      = new DockLayoutManager(this, null);

            //挂起工具窗口停靠管理器事务,以加快速度管理
            _LayoutManager.SuspendLayout();
            _LayoutManager.ToolWindows.Add(new MessageTools());
            _LayoutManager.ToolWindows["MessageTool"].Text = "信息窗口";
            _LayoutManager.ToolWindows["MessageTool"].DockTo(DockTargetHost.DockHost, DockPosition.Bottom);
            _LayoutManager.ToolWindows.Add(new ToolPanel());
            _LayoutManager.ToolWindows["MainPanel"].Text = "工具面板";
            _LayoutManager.ToolWindows["MainPanel"].DockTo(DockTargetHost.DockHost, DockPosition.Left);

            //ToolWindow  tt=new MessageTools();
            //tt.State=ToolWindowState.Mdi;
            //tt.Key = "md1";
            //ToolWindow  tt1=new MessageTools();
            //tt1.State=ToolWindowState.Mdi;
            //tt1.Key = "md2";
            //_LayoutManager.ToolWindows.Add(tt);
            //_LayoutManager.ToolWindows.Add(tt1);

            //执行正常的工具窗口停靠管理
            _LayoutManager.ResumeLayout();
            //_LayoutManager.LoadLayout(System.Environment.CurrentDirectory + @"\\DefaultLayout.xml");
        }
Esempio n. 6
0
        void OnViewsCollectionChanged(IRegion region, DocumentGroup regionTarget, object sender, NotifyCollectionChangedEventArgs e)
        {
            if (e.Action == NotifyCollectionChangedAction.Add)
            {
                foreach (object view in e.NewItems)
                {
                    DockLayoutManager manager = regionTarget.GetDockLayoutManager();
                    DocumentPanel     panel   = manager.DockController.AddDocumentPanel(regionTarget);

                    IView viewInfo = panel.Content as IView;

                    if (viewInfo != null)
                    {
                        panel.Caption = viewInfo.Caption;
                    }
                    else
                    {
                        panel.Caption = "";
                    }

                    manager.DockController.Activate(panel);

                    this.logger.Log(String.Format("DocumentGroupAdapter: View '{0}' added to region '{1}'", view, region.Name), Category.Debug, Priority.None);
                }
            }
        }
Esempio n. 7
0
		public LayoutManager(DockLayoutManager dockCtl)
		{
			if (dockCtl == null)
				throw new ArgumentNullException(nameof(dockCtl));

			DockCtl = dockCtl;
		}
Esempio n. 8
0
        void bClose_ItemClick(object sender, ItemClickEventArgs ea)
        {
            DockLayoutManager manager = DockLayoutManager.GetDockLayoutManager(sender as DependencyObject);
            BaseLayoutItem    item    = DockLayoutManager.GetLayoutItem(sender as DependencyObject);

            manager.DockController.Close(item);
        }
 public NavigationWithPanal(NavBarItem navItem, string viewName, DockLayoutManager dockManager, DocumentGroup documentContainer)
 {
     NavItem           = navItem;
     navItem.Click    += navItem_Click;
     ViewName          = viewName;
     DockManager       = dockManager;
     DocumentContainer = documentContainer;
 }
Esempio n. 10
0
        void ClosePageClick(object sender, RoutedEventArgs e)
        {
            LayoutControlItem item = DockLayoutManager.GetLayoutItem((DependencyObject)sender) as LayoutControlItem;

            if (item != null)
            {
                item.Parent.Remove(item);
            }
        }
Esempio n. 11
0
        void RenamePageClick(object sender, RoutedEventArgs e)
        {
            LayoutControlItem item = DockLayoutManager.GetLayoutItem((DependencyObject)sender) as LayoutControlItem;

            if (item != null)
            {
                dockManager.LayoutController.Rename(item);
            }
        }
Esempio n. 12
0
        void panelContentControlBackButtonClicked(object sender, EventArgs e)
        {
            if (animationLock > 0)
            {
                return;
            }
            PanelContentControl pcc = (PanelContentControl)sender;

            DoExpand(DockLayoutManager.GetLayoutItem(sender as DependencyObject));
            pcc.IsExpanded = !pcc.IsExpanded;
        }
Esempio n. 13
0
        public String Resolve(DockLayoutManager owner, Object item)
        {
            var layoutPanel = item as BaseLayoutItem;

            if (layoutPanel == null)
            {
                return("DocumentHost");
            }

            owner.LayoutController.Activate(layoutPanel);
            return(layoutPanel.Tag as String);
        }
Esempio n. 14
0
 private void OpenHostView_OnItemClick(Object sender, ItemClickEventArgs e)
 {
     if (HostView == null)
     {
         var view = new HostView(ExternalHandle);
         HostView         = new DocumentPanel();
         HostView.Caption = "Host View";
         HostView.Content = view;
         DocumentGroup.Add(HostView);
     }
     DockLayoutManager.Activate(HostView);
 }
        string ILayoutAdapter.Resolve(DockLayoutManager owner, object item)
        {
            BaseLayoutItem panelHost = owner.GetItem("PanelHost");

            if (panelHost == null)
            {
                panelHost = new LayoutGroup()
                {
                    Name = "PanelHost", DestroyOnClosingChildren = false
                };
                owner.LayoutRoot.Add(panelHost);
            }
            return("PanelHost");
        }
Esempio n. 16
0
 private void OpenMapView_OnItemClick(Object sender, ItemClickEventArgs e)
 {
     if (MapView == null)
     {
         var viewModel = new MapViewModel();
         var view      = new MapView();
         view.DataContext = viewModel;
         MapView          = new DocumentPanel();
         MapView.Caption  = "Map View";
         MapView.Content  = view;
         DocumentGroup.Add(MapView);
     }
     DockLayoutManager.Activate(MapView);
 }
Esempio n. 17
0
        void OnPanelContentControlMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            if (animationLock > 0)
            {
                return;
            }
            PanelContentControl pcc = (PanelContentControl)sender;

            if (!pcc.IsExpanded)
            {
                DoExpand(DockLayoutManager.GetLayoutItem(sender as DependencyObject));
                pcc.IsExpanded = !pcc.IsExpanded;
            }
        }
Esempio n. 18
0
 void HideFloatGroups(DockLayoutManager dockLayoutManager)
 {
     foreach (FloatGroup floatGroup in dockLayoutManager.FloatGroups)
     {
         if (floatGroup.IsOpen)
         {
             floatGroup.ShouldRestoreOnActivate = true;
             if (floatGroup.IsOpen)
             {
                 floatGroup.IsOpen = false;
             }
         }
     }
 }
Esempio n. 19
0
        protected override void Adapt(IRegion region, LayoutGroup rootGroup)
        {
            this.LayoutManager = rootGroup.GetDockLayoutManager();
            this.LayoutManager.DisposeOnWindowClosing    = true;
            this.LayoutManager.OwnsFloatWindows          = true;
            this.LayoutManager.ClosingBehavior           = ClosingBehavior.ImmediatelyRemove;
            this.LayoutManager.FloatingDocumentContainer = DevExpress.Xpf.Docking.Base.FloatingDocumentContainer.DocumentHost;
            this.LayoutManager.DockItemClosed           += LayoutManager_DockItemClosed;

            //this.LayoutManager.ClosedPanelsBarVisibility = DevExpress.Xpf.Docking.Base.ClosedPanelsBarVisibility.Auto;
            //this.LayoutManager.ClosedPanelsBarPosition = Dock.Bottom;

            region.Views.CollectionChanged += (s, e) => OnViewsCollectionChanged(region, s, e);
        }
Esempio n. 20
0
        public DockLayoutManager FindDockLayoutManager()
        {
            VisualTreeEnumerator e = new VisualTreeEnumerator(this);

            while (e.MoveNext())
            {
                DockLayoutManager manager = e.Current as DockLayoutManager;
                if (manager != null)
                {
                    return(manager);
                }
            }
            return(null);
        }
Esempio n. 21
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            DockLayoutManager             manager   = value as DockLayoutManager;
            ObservableCollection <object> documents = new ObservableCollection <object>();

            foreach (BaseLayoutItem item in manager.GetItems())
            {
                if (item.ItemType == LayoutItemType.Document && !item.Closed)
                {
                    documents.Add(item);
                }
            }
            return(documents);
        }
        protected override void OnAttached()
        {
            base.OnAttached();
            DockLayoutManager manager = AssociatedObject as DockLayoutManager;

            if (manager != null && !managers.Contains(manager))
            {
                lock (managers) {
                    foreach (var m in managers)
                    {
                        DockLayoutManagerLinker.Link(manager, m);
                    }
                    managers.Add(manager);
                }
            }
        }
Esempio n. 23
0
        public LayoutManager(DockLayoutManager dockingManager, DocumentGroup documentGroup = null)
        {
            if (dockingManager == null)
            {
                throw new ArgumentNullException(nameof(dockingManager));
            }

            _documentGroup = documentGroup;

            DockingManager = dockingManager;
            //DockingManager.LayoutChanged += OnDockingManagerLayoutChanged;
            //DockingManager.DocumentClosing += OnDockingManagerDocumentClosing;
            //DockingManager.DocumentClosed += OnDockingManagerDocumentClosed;

            //OnDockingManagerLayoutChanged(null, null);
        }
        protected override void OnDetaching()
        {
            DockLayoutManager manager = AssociatedObject as DockLayoutManager;

            if (manager != null && managers.Contains(manager))
            {
                lock (managers) {
                    foreach (var m in managers)
                    {
                        DockLayoutManagerLinker.Unlink(manager, m);
                    }
                    managers.Remove(manager);
                }
            }
            base.OnDetaching();
        }
Esempio n. 25
0
        ////
        //// All things related to DocumentPanels
        ////
        #region DocumentPanel Region

        /// <remarks>
        /// Summary:
        ///     Remove a dockpanel from the primary document group.
        /// </remarks>
        private void DockLayoutManager_DockItemClosing(object sender, DevExpress.Xpf.Docking.Base.ItemCancelEventArgs e)
        {
            DockLayoutManager dm      = sender as DockLayoutManager;
            string            caption = dm.ActiveDockItem.Caption.ToString();

            // TO-DO : can't use "AnyDirty"... Need to figure out which VM we are dealing with.....
            if (Host.Instance.AnyDirty())
            {
                MessageBoxResult result = MessageBox.Show("You have unsaved edits. Save changes before closing?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.Yes);
                switch (result)
                {
                case MessageBoxResult.Yes:
                    e.Cancel = true;
                    return;

                case MessageBoxResult.No:
                    break;

                default:
                    e.Cancel = true;
                    return;
                }
            }

            // Remove the MvvmBinder.
            Host.Instance.Execute(HostVerb.Close, caption); // TO-DO: This may need to move to Closed()

            // Set the previous DockPanel as the active panel
            int count = this.primaryDocumentGroup.Items.Count();

            primaryDocumentGroup.SelectedTabIndex = primaryDocumentGroup.Items.Count - 1;
            if (primaryDocumentGroup.SelectedTabIndex >= 0)
            {
                this.dockLayoutManager.Activate(primaryDocumentGroup.Items[primaryDocumentGroup.SelectedTabIndex]);
            }


            // If there are no (more) documents in the documentGroup, then turn off HitTestVisible so
            // Main doesn't throw w/ a null reference if the user clicks on the empty document group panel.
            if (0 == count)
            {
                this.layoutGroupMain.IsHitTestVisible = false;
            }

            e.Handled = true;
        }
Esempio n. 26
0
 void ShowFloatGroups(DockLayoutManager dockLayoutManager)
 {
     if (!dockLayoutManager.IsVisible)
     {
         return;
     }
     foreach (FloatGroup floatGroup in dockLayoutManager.FloatGroups)
     {
         if (floatGroup.ShouldRestoreOnActivate)
         {
             floatGroup.ShouldRestoreOnActivate = false;
             if (!floatGroup.IsOpen)
             {
                 floatGroup.IsOpen = true;
             }
         }
     }
 }
Esempio n. 27
0
        protected override void RaiseBeforeModuleDisappear()
        {
            base.RaiseBeforeModuleDisappear();
            DisposeList = new List <DockLayoutManager>();
            VisualTreeEnumerator e = new VisualTreeEnumerator(this);

            while (e.MoveNext())
            {
                DockLayoutManager manager = e.Current as DockLayoutManager;
                if (manager != null)
                {
                    DisposeList.Add(manager);
                    manager.Visibility = Visibility.Collapsed;
                    foreach (FloatGroup fGroup  in manager.FloatGroups)
                    {
                        fGroup.IsOpen = false;
                    }
                }
            }
        }
Esempio n. 28
0
        void OnViewsCollectionChanged(IRegion region, LayoutPanel regionTarget, object sender, NotifyCollectionChangedEventArgs e)
        {
            if (e.Action == NotifyCollectionChangedAction.Add)
            {
                regionTarget.Content    = e.NewItems[0];
                regionTarget.Visibility = System.Windows.Visibility.Visible;

                DockLayoutManager dockLayoutManager = regionTarget.GetDockLayoutManager();
                if (dockLayoutManager.ClosedPanels.Contains(regionTarget))
                {
                    dockLayoutManager.DockController.Restore(regionTarget);
                }
            }

            if (e.Action == NotifyCollectionChangedAction.Remove)
            {
                regionTarget.Content    = null;
                regionTarget.Visibility = System.Windows.Visibility.Collapsed;
            }
        }
Esempio n. 29
0
        public static DocumentPanel SelectPanel(DockLayoutManager manager, DocumentGroup baseGroup, Type controlType, bool autoActivate = false)
        {
            DocumentPanel panel = null;
            if (controlType.GetInterfaces().Contains(typeof (IDocumentPanelManager)))
            {
                // Тип реализует интерфейс
                string controlId = controlType.FullName;
                foreach (
                    DocumentPanel localpanel in
                        baseGroup.Items.Where(
                            x => x is DocumentPanel && (x as DocumentPanel).Control is IDocumentPanelManager))
                {
                    var panelControlId = localpanel.Control.GetType().ToString();
                    if (panelControlId == controlId)
                    {
                        panel = localpanel;
                        break;
                    }
                }

                if (panel == null)
                {
                    // Не найден - создать
                    panel = manager.DockController.AddDocumentPanel(baseGroup);
                    panel.Content = Activator.CreateInstance(controlType);
                    panel.Caption = (panel.Control as IDocumentPanelManager).PanelTitle;
                }
                if (autoActivate)
                    manager.Activate(panel);
            }
            else
            {
                // Тип не реализует интерфейс
                panel = manager.DockController.AddDocumentPanel(baseGroup);
                panel.Content = Activator.CreateInstance(controlType);
                if (autoActivate)
                    manager.Activate(panel);
            }
            return
                panel;
        }
Esempio n. 30
0
        private void DXRibbonWindow_Loaded(object sender, RoutedEventArgs e)
        {
            #region #CustomizeReviewingPane
            //Access the DockLayoutManager in the template:
            string            name    = RichEditControl.DockLayoutManagerName;
            DockLayoutManager manager = (DockLayoutManager)richEdit.Template.FindName(name, richEdit);

            //Retireve the Reviewing Pane
            LayoutPanel   commentPanel  = manager.LayoutRoot.Items[0] as LayoutPanel;
            DocumentPanel documentPanel = manager.LayoutRoot.Items[1] as DocumentPanel;

            //Dock panel to the right
            manager.DockController.Dock(commentPanel, documentPanel, DockType.Right);

            //Hide the pane to the tab
            commentPanel.AutoHidden = true;

            //Disable floating
            commentPanel.AllowFloat = false;
            #endregion #CustomizeReviewingPane
        }
Esempio n. 31
0
 private void DockLayoutManager_ShowingMenu(object sender, DevExpress.Xpf.Docking.Base.ShowingMenuEventArgs e)
 {
     DockLayoutManager dlm = sender as DockLayoutManager;
     DocumentPanel     dp  = dlm.ActiveDockItem as DocumentPanel;
 }
        private void CreateComponent()
        {
            //s_tabbedMdiForm = this;

            m_mdiManager = new TabbedMdiManager(this);
            m_mdiManager.Style = RenderStyle.VS2005; //VS2005 has error
            m_mdiManager.AllowModifications = true;
            m_mdiManager.ShowMenuOnCtrlTab = true;
            m_mdiManager.AllowClose = true;
            m_mdiManager.FormSelected += new FormSelectedEventHandler(ChildForm_FormSelected);

            m_mdiManager.TabGroupOrientation = Orientation.Horizontal;

            m_topGroup = new TabbedMdiTabGroup();
            m_mdiManager.TabGroups.Add(m_topGroup);
            m_bottomGroup = new TabbedMdiTabGroup();
            //m_mdiManager.TabGroups.Add(m_bottomGroup);

            m_dockManager = new DockLayoutManager(this, null);
            m_dockManager.Style = RenderStyle.VS2005;
            m_dockManager.AllowAutoHide = true;
            m_dockManager.AllowDocking = true;
            m_dockManager.AllowFloating = true;
            m_dockManager.AllowHide = true;
            m_dockManager.AutoHideFrameAppearance.ShowHideDelay = 50;

            this.smartOutlookShortcutBar1 = new Xceed.SmartUI.Controls.OutlookShortcutBar.SmartOutlookShortcutBar(this.components);
            //this.smartOutlookShortcutBar1.UIStyle = Xceed.SmartUI.UIStyle.UIStyle.WindowsClassic;
            XceedUtility.SetUIStyle(this.smartOutlookShortcutBar1);

            CreateToolWindow();
        }
 void barManager_Loaded(object sender, RoutedEventArgs e)
 {
     DockLayoutSource         = BarManager.Child as DockLayoutManager;
     DockLayoutSource.Loaded += Manager_Loaded;
 }