예제 #1
0
        /// <summary>
        /// Add custom tool.
        /// </summary>
        /// <param name="tool">Tool to add.</param>
        /// <param name="canActivateToolHandler">Handler for check activation.</param>
        private void _AddTool(IMapTool tool, CanActivateToolHandler canActivateToolHandler)
        {
            tool.Initialize(_mapctrl);
            _tools.Add(tool);
            _canActivateToolHandlers.Add(canActivateToolHandler);

            tool.EnabledChanged += new EventHandler(_ToolEnabledChanged);

            // Create tool button.
            ToggleButton button = new ToggleButton();

            button.ToolTip   = tool.TooltipText;
            button.Style     = (Style)App.Current.FindResource("MapToolButtonStyle");
            button.IsEnabled = false;
            button.Click    += new RoutedEventHandler(_ToolClick);

            BitmapImage bitmap = new BitmapImage(new Uri(tool.IconSource, UriKind.Relative));
            Image       img    = new Image();

            img.Source              = bitmap;
            img.Margin              = (Thickness)App.Current.FindResource("ToolButtonImageMargin");
            img.VerticalAlignment   = VerticalAlignment.Center;
            img.HorizontalAlignment = HorizontalAlignment.Center;
            button.Content          = img;

            _toolButtonsPanel.Children.Add(button);
        }
예제 #2
0
        /// <summary>
        /// Add tool.
        /// </summary>
        /// <param name="tool">Tool for adding.</param>
        /// <param name="canActivateToolHandler">Delegate to check can activated.</param>
        public void AddTool(IMapTool tool, CanActivateToolHandler canActivateToolHandler)
        {
            EditingTool editingTool = tool as EditingTool;

            if (editingTool != null)
            {
                _AddEditingTool(editingTool);
            }
            else
            {
                _AddTool(tool, canActivateToolHandler);
            }

            tool.OnComplete += new EventHandler(_OnCompleteTool);
        }
예제 #3
0
        /// <summary>
        /// Add tools.
        /// </summary>
        /// <param name="tools">Tools for adding.</param>
        /// <param name="canActivateToolHandler">Callback for checking is tool can be activated.</param>
        private void _AddTools(IMapTool[] tools, CanActivateToolHandler canActivateToolHandler)
        {
            foreach (IMapTool tool in tools)
            {
                tool.Initialize(_mapctrl);
            }

            IMapTool toolOnPanel = tools[0];

            toolOnPanel.OnComplete     += new EventHandler(_OnCompleteTool);
            toolOnPanel.EnabledChanged += new EventHandler(_ToolEnabledChanged);
            _tools.Add(toolOnPanel);

            _canActivateToolHandlers.Add(canActivateToolHandler);

            ToolComboButton button = new ToolComboButton();

            button.ToolActivated += new EventHandler(_OnToolActivated);
            button.Init(tools);

            _toolButtonsPanel.Children.Add(button);
        }
 /// <summary>
 /// Add tools.
 /// </summary>
 /// <param name="tools">Tools for adding.</param>
 /// <param name="canActivateToolHandler">Callback for checking is tool can be activated.</param>
 public void AddTools(IMapTool[] tools, CanActivateToolHandler canActivateToolHandler)
 {
     _tools.AddTools(tools,  canActivateToolHandler);
 }
 /// <summary>
 /// Add tool.
 /// </summary>
 /// <param name="tool">Tool for adding.</param>
 /// <param name="canActivateToolHandler">Callback for checking is tool can be activated.</param>
 public void AddTool(IMapTool tool, CanActivateToolHandler canActivateToolHandler)
 {
     _tools.AddTool(tool, canActivateToolHandler);
 }
예제 #6
0
        /// <summary>
        /// Add tools.
        /// </summary>
        /// <param name="tools">Tools for adding.</param>
        /// <param name="canActivateToolHandler">Callback for checking is tool can be activated.</param>
        public void AddTools(IMapTool[] tools, CanActivateToolHandler canActivateToolHandler)
        {
            Debug.Assert(tools != null && tools.Length > 0);

            _AddTools(tools, canActivateToolHandler);
        }
예제 #7
0
 /// <summary>
 /// Add tools.
 /// </summary>
 /// <param name="tools">Tools for adding.</param>
 /// <param name="canActivateToolHandler">Callback for checking is tool can be activated.</param>
 public void AddTools(IMapTool[] tools, CanActivateToolHandler canActivateToolHandler)
 {
     _tools.AddTools(tools, canActivateToolHandler);
 }
예제 #8
0
 /// <summary>
 /// Add tool.
 /// </summary>
 /// <param name="tool">Tool for adding.</param>
 /// <param name="canActivateToolHandler">Callback for checking is tool can be activated.</param>
 public void AddTool(IMapTool tool, CanActivateToolHandler canActivateToolHandler)
 {
     _tools.AddTool(tool, canActivateToolHandler);
 }