示例#1
0
        private DockState GetDockState(Shell.Interop.NiDockStyle dockStyle, NiToolWindowOrientation orientation)
        {
            switch (dockStyle)
            {
            case NiDockStyle.Document:
                return(DockState.Document);

            case NiDockStyle.Float:
            case NiDockStyle.AlwaysFloat:
                return(DockState.Float);

            default:
                switch (orientation)
                {
                case NiToolWindowOrientation.Bottom:
                    return(DockState.DockBottom);

                case NiToolWindowOrientation.Left:
                    return(DockState.DockLeft);

                case NiToolWindowOrientation.Right:
                    return(DockState.DockRight);

                default:
                    return(DockState.DockTop);
                }
            }
        }
示例#2
0
 public ToolWindowRegistration(Guid package, Guid id, bool multipleInstances, NiToolWindowOrientation orientation, NiDockStyle dockStyle, bool transient)
 {
     Package = package;
     Id = id;
     MultipleInstances = multipleInstances;
     Orientation = orientation;
     DockStyle = dockStyle;
     Transient = transient;
 }
示例#3
0
 public ToolWindowRegistration(Guid package, Guid id, bool multipleInstances, NiToolWindowOrientation orientation, NiDockStyle dockStyle, bool transient)
 {
     Package           = package;
     Id                = id;
     MultipleInstances = multipleInstances;
     Orientation       = orientation;
     DockStyle         = dockStyle;
     Transient         = transient;
 }
示例#4
0
        public DockContent(INiWindowPane windowPane, NiDockStyle dockStyle, NiToolWindowOrientation orientation)
        {
            if (windowPane == null)
            {
                throw new ArgumentNullException("windowPane");
            }

            WindowPane  = windowPane;
            DockStyle   = dockStyle;
            Orientation = orientation;
            ShowIcon    = false;

            switch (dockStyle)
            {
            case NiDockStyle.Document:
                DockAreas = WeifenLuo.WinFormsUI.Docking.DockAreas.Document;
                break;

            case NiDockStyle.Float:
                DockAreas =
                    WeifenLuo.WinFormsUI.Docking.DockAreas.Document |
                    WeifenLuo.WinFormsUI.Docking.DockAreas.Float;
                break;

            case NiDockStyle.AlwaysFloat:
                DockAreas = WeifenLuo.WinFormsUI.Docking.DockAreas.Float;
                break;

            default:
                DockAreas =
                    WeifenLuo.WinFormsUI.Docking.DockAreas.DockBottom |
                    WeifenLuo.WinFormsUI.Docking.DockAreas.DockLeft |
                    WeifenLuo.WinFormsUI.Docking.DockAreas.DockRight |
                    WeifenLuo.WinFormsUI.Docking.DockAreas.DockTop;
                break;
            }

            _host = new WindowHost(this)
            {
                Dock = System.Windows.Forms.DockStyle.Fill
            };

            Controls.Add(_host);
        }
示例#5
0
        public DockContent(INiWindowPane windowPane, NiDockStyle dockStyle, NiToolWindowOrientation orientation)
        {
            if (windowPane == null)
                throw new ArgumentNullException("windowPane");

            WindowPane = windowPane;
            DockStyle = dockStyle;
            Orientation = orientation;
            ShowIcon = false;

            switch (dockStyle)
            {
                case NiDockStyle.Document:
                    DockAreas = WeifenLuo.WinFormsUI.Docking.DockAreas.Document;
                    break;

                case NiDockStyle.Float:
                    DockAreas =
                        WeifenLuo.WinFormsUI.Docking.DockAreas.Document |
                        WeifenLuo.WinFormsUI.Docking.DockAreas.Float;
                    break;

                case NiDockStyle.AlwaysFloat:
                    DockAreas = WeifenLuo.WinFormsUI.Docking.DockAreas.Float;
                    break;

                default:
                    DockAreas =
                        WeifenLuo.WinFormsUI.Docking.DockAreas.DockBottom |
                        WeifenLuo.WinFormsUI.Docking.DockAreas.DockLeft |
                        WeifenLuo.WinFormsUI.Docking.DockAreas.DockRight |
                        WeifenLuo.WinFormsUI.Docking.DockAreas.DockTop;
                    break;
            }

            _host = new WindowHost(this)
            {
                Dock = System.Windows.Forms.DockStyle.Fill
            };

            Controls.Add(_host);
        }
示例#6
0
文件: NiShell.cs 项目: netide/netide
        public HResult CreateToolWindow(INiWindowPane windowPane, NiDockStyle dockStyle, NiToolWindowOrientation toolWindowOrientation, out INiWindowFrame toolWindow)
        {
            toolWindow = null;

            try
            {
                if (windowPane == null)
                    throw new ArgumentNullException("windowPane");

                var dockContent = new DockContent(windowPane, dockStyle, toolWindowOrientation)
                {
                    Site = new SiteProxy(this)
                };

                dockContent.Disposed += dockContent_Disposed;

                _dockContents.Add(windowPane, dockContent);

                toolWindow = dockContent.GetProxy();

                return HResult.OK;
            }
            catch (Exception ex)
            {
                return ErrorUtil.GetHResult(ex);
            }
        }