Beispiel #1
0
        public override bool Start(IMouseInformation mouseInformation)
        {
            base.Start(mouseInformation);

            if (_graphicBuilder != null)
            {
                return(_graphicBuilder.Start(mouseInformation));
            }

            IPresentationImage image = mouseInformation.Tile.PresentationImage;

            if (!CanStart(image))
            {
                return(false);
            }

            var             provider = (IOverlayGraphicsProvider)image;
            IControlGraphic graphic  = _graphicDelegateCreatorDelegate();

            _graphicBuilder = _interactiveGraphicBuilderDelegate(graphic);
            _graphicBuilder.GraphicComplete       += OnGraphicBuilderInitiallyDone;
            _graphicBuilder.GraphicCancelled      += OnGraphicBuilderInitiallyDone;
            _graphicBuilder.GraphicFinalComplete  += OnGraphicFinalComplete;
            _graphicBuilder.GraphicFinalCancelled += OnGraphicFinalCancelled;

            AddGraphic(image, graphic, provider);

            if (_graphicBuilder.Start(mouseInformation))
            {
                return(true);
            }

            this.Cancel();
            return(false);
        }