Esempio n. 1
0
        internal VNode(MNode node, WFrameworkElement frameworkElementOfNodeForLabelOfLabel,
                       Func <MEdge, VEdge> funcFromDrawingEdgeToVEdge, Func <double> pathStrokeThicknessFunc)
        {
            PathStrokeThicknessFunc = pathStrokeThicknessFunc;
            Node = node;
            FrameworkElementOfNodeForLabel = frameworkElementOfNodeForLabelOfLabel;

            _funcFromDrawingEdgeToVEdge = funcFromDrawingEdgeToVEdge;

            CreateNodeBoundaryPath();
            if (FrameworkElementOfNodeForLabel != null)
            {
                FrameworkElementOfNodeForLabel.Tag = this; //get a backpointer to the VNode
                Common.PositionFrameworkElement(FrameworkElementOfNodeForLabel, node.GeometryNode.Center, 1);
                WPanel.SetZIndex(FrameworkElementOfNodeForLabel, WPanel.GetZIndex(BoundaryPath) + 1);
            }
            SetupSubgraphDrawing();
            Node.Attr.VisualsChanged += (a, b) => Invalidate();
            Node.IsVisibleChanged    += obj =>
            {
                foreach (var frameworkElement in FrameworkElements)
                {
                    frameworkElement.Visibility = Node.IsVisible ? WVisibility.Visible : WVisibility.Hidden;
                }
            };
        }
Esempio n. 2
0
        void SetupCollapseSymbol()
        {
            var collapseBorderSize = GetCollapseBorderSymbolSize();

            Debug.Assert(collapseBorderSize > 0);
            _collapseButtonBorder = new WBorder
            {
                Background   = Common.BrushFromMsaglColor(_subgraph.CollapseButtonColorInactive),
                Width        = collapseBorderSize,
                Height       = collapseBorderSize,
                CornerRadius = new WCornerRadius(collapseBorderSize / 2)
            };

            WPanel.SetZIndex(_collapseButtonBorder, WPanel.GetZIndex(BoundaryPath) + 1);


            var collapseButtonCenter = GetCollapseButtonCenter(collapseBorderSize);

            Common.PositionFrameworkElement(_collapseButtonBorder, collapseButtonCenter, 1);

            double w = collapseBorderSize * 0.4;

            _collapseSymbolPath = new WPath
            {
                Data            = CreateCollapseSymbolPath(collapseButtonCenter + new MPoint(0, -w / 2), w),
                Stroke          = _collapseSymbolPathInactive,
                StrokeThickness = 1
            };

            WPanel.SetZIndex(_collapseSymbolPath, WPanel.GetZIndex(_collapseButtonBorder) + 1);
            _topMarginRect.MouseLeftButtonDown += TopMarginRectMouseLeftButtonDown;
        }
Esempio n. 3
0
        private void BgProgressBar_OnMouseMove(object sender, MouseEventArgs e)
        {
            if (Panel.GetZIndex(BgProgressBar) < 1)
            {
                return;
            }
            _positionToolTip.Content = PositionToolTipText;
            _positionToolTip.IsOpen  = BgProgressBar.IsMouseOver;
            if (!_positionToolTip.IsOpen)
            {
                return;
            }
            var p = MouseUtils.CorrectGetPosition();

            _positionToolTip.HorizontalOffset = p.X;
            _positionToolTip.VerticalOffset   = p.Y - 20;
        }
Esempio n. 4
0
        private void BgProgressBar_OnMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            if (Panel.GetZIndex(BgProgressBar) < 1 || !PlaybackManagerInstance.IsSomethingLoaded)
            {
                return;
            }
            var p = MouseUtils.CorrectGetPosition(BgProgressBar);

            try
            {
                PlaybackManagerInstance.Position =
                    TimeSpan.FromMilliseconds(PlaybackManagerInstance.Duration.TotalMilliseconds /
                                              BgProgressBar.ActualWidth * p.X);
            }
            catch
            {
            }
        }