public HighlightManager(GraphControl canvas,
                                [CanBeNull] ISelectionModel <IModelItem> selectionModel = null) : base(canvas, selectionModel)
        {
            var graphModelManager = canvas.GraphModelManager;

            edgeHighlightGroup = graphModelManager.ContentGroup.AddGroup();
            edgeHighlightGroup.Below(graphModelManager.EdgeLabelGroup);
        }
Beispiel #2
0
        /// <summary>
        /// Combines the rendering by the wrapped core indicator with our own control segment rendering
        /// </summary>
        /// <returns>A canvas object group combining both renderings</returns>
        public ICanvasObject AddCanvasObject(ICanvasContext context, ICanvasObjectGroup group, object item)
        {
            var newGroup = group.AddGroup();

            //Add the visualization from the core selection decorator
            if (coreImpl != null)
            {
                coreImpl.AddCanvasObject(context, newGroup, item);
            }
            //Ad our own decoration on top
            decorator.AddCanvasObject(context, newGroup, item);
            return(newGroup);
        }
        /// <summary>
        /// Installs the <see cref="LensInputMode"/> by adding the <see cref="LensVisualCreator"/>
        /// to the <see cref="lensGroup"/> and registering the necessary mouse event handlers.
        /// </summary>
        public override void Install(IInputModeContext context, ConcurrencyController controller)
        {
            base.Install(context, controller);

            var canvasControl = context.CanvasControl as GraphControl;

            lensGroup = canvasControl.RootGroup.AddGroup();
            lensGroup.Above(canvasControl.InputModeGroup);
            lensGroup.AddChild(new LensVisualCreator(this));

            canvasControl.Mouse2DMoved   += UpdateLensLocation;
            canvasControl.Mouse2DDragged += UpdateLensLocation;

            canvasControl.Mouse2DEntered += UpdateLensLocation;
            canvasControl.Mouse2DExited  += UpdateLensLocation;
        }
Beispiel #4
0
        /// <summary>
        /// Installs the <see cref="LensInputMode"/> by adding the <see cref="LensVisual"/>
        /// to the <see cref="lensGroup"/> and registering the necessary mouse event handlers.
        /// </summary>
        public override void Install(IInputModeContext context, ConcurrencyController controller)
        {
            base.Install(context, controller);

            var canvasControl = context.CanvasControl as GraphControl;

            lensGroup = canvasControl.RootGroup.AddGroup();
            lensGroup.Above(canvasControl.InputModeGroup);
            lensVisual = new LensVisual(this);
            lensGroup.AddChild(lensVisual, CanvasObjectDescriptors.Visual);

            canvasControl.Mouse2DMoved   += UpdateLensLocation;
            canvasControl.Mouse2DDragged += UpdateLensLocation;

            canvasControl.Mouse2DEntered += UpdateLensVisibility;
            canvasControl.Mouse2DExited  += UpdateLensVisibility;
        }
Beispiel #5
0
 public static ICanvasObject Add(this CanvasControl canvas, object userObject, ICanvasObjectDescriptor descriptor, ICanvasObjectGroup group)
 {
     return(group.AddChild(userObject, descriptor));
 }