public void AddTool(IDock layout, AvaloniaToolDockWrapper toolWrapper, ToolPreferedPosition position)
        {
            var toolDock = FindDockable(layout, dockable => dockable is ToolDock) as ToolDock;

            if (position == ToolPreferedPosition.Left)
            {
                toolDock = null;
            }
            if (toolDock == null)
            {
                toolDock = new ToolDock
                {
                    Id         = "tool",
                    Title      = "Tools",
                    Proportion = 0.2f,
                    CanFloat   = false
                };
                if (position == ToolPreferedPosition.Left)
                {
                    InsertDockable(layout, CreateProportionalDockSplitter(), 0);
                    InsertDockable(layout, toolDock, 0);
                }
                else
                {
                    AddDockable(layout, CreateProportionalDockSplitter());
                    AddDockable(layout, toolDock);
                }
            }

            AddDockable(toolDock, toolWrapper);
        }
示例#2
0
        private static string GetPaneName(ToolPreferedPosition location)
        {
            switch (location)
            {
            case ToolPreferedPosition.Left:
                return("LeftPane");

            case ToolPreferedPosition.Right:
                return("RightPane");

            case ToolPreferedPosition.Bottom:
                return("BottomPane");

            default:
                throw new ArgumentOutOfRangeException("location");
            }
        }