Esempio n. 1
0
        public void AddToolbarItem(ImageSource imageSource, ITool tool, ICommand command)
        {
            if (tool != null && ToolCollection.Tools.Any(n => n.Name == tool.Name))
            {
                throw new VerificationException("Tool already exists");
            }

            var newSketchToolbarItem = new SketchToolbarItem(imageSource, tool, command ?? ActivateToolCommand)
            {
                VerticalOptions = LayoutOptions.FillAndExpand,
                WidthRequest    = ToolbarHeight,
                IsSelected      = toolbarStack.Children.Count == 0            // Select the first added tool
            };

            toolbarStack.Children.Add(newSketchToolbarItem);

            if (tool != null)
            {
                ToolCollection.Tools.Add(tool);
                if (newSketchToolbarItem.IsSelected)
                {
                    ToolCollection.ActivateTool(tool);
                }
            }
        }
Esempio n. 2
0
        private void ActivateTool(ITool tool)
        {
            if (SelectedTool?.Name == tool?.Name)
            {
                OpenToolSettings(SelectedTool);
                return;
            }

            ToolCollection.ActivateTool(tool);

            // Unselect all items
            foreach (var child in toolbarStack.Children.Where(n => n is SketchToolbarItem))
            {
                var toolBarItem = (SketchToolbarItem)child;
                toolBarItem.IsSelected = toolBarItem?.Tool == tool;
            }
        }