Exemple #1
0
        /// <summary>
        /// sets the inital angle if datacontext is a ContentControl and if the Canvas was found.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void RotateThumb_DragStarted(object sender, VectorEventArgs e)
        {
            _designerItem = DataContext as ContentControl;

            if (_designerItem != null)
            {
                _canvas = TreeExtensions.TryFindParent <Canvas>(_designerItem);
                if (_canvas != null)
                {
                    _centerPoint = (Point)_designerItem.TranslatePoint(
                        new Point(_designerItem.Width * _designerItem.RenderTransformOrigin.Point.X,
                                  _designerItem.Height * _designerItem.RenderTransformOrigin.Point.Y),
                        _canvas);

                    Point startPoint = VisualExtensions.
                                       PointToClient(_canvas, new PixelPoint((int)e.Vector.X, (int)e.Vector.Y));

                    _startVector = startPoint - _centerPoint;

                    _rotateTransform = _designerItem.RenderTransform as RotateTransform;
                    if (_rotateTransform == null)
                    {
                        _designerItem.RenderTransform = new RotateTransform(0);
                        _initialAngle = 0;
                    }
                    else
                    {
                        _initialAngle = _rotateTransform.Angle;
                    }
                }
            }
        }
        public void CreateTree()
        {
            var bar0      = new Bar(1, null);
            var bar1      = new Bar(2, null);
            var bar0_0    = new Bar(3, 1);
            var bar0_1    = new Bar(4, 1);
            var bar_0_0_0 = new Bar(5, 3);

            var list = new List <Bar>()
            {
                bar0,
                bar1,
                bar0_0,
                bar0_1,
                bar_0_0_0
            };

            //Create the tree
            var tree = TreeExtensions.CreateTree(list.Where(b => b.ParentId == null),
                                                 list,
                                                 (p, c) => c.ParentId != null && c.ParentId.Value == p.Id);

            Assert.Same(bar0, tree.Nodes[0].Item);

            Assert.Same(bar1, tree.Nodes[1].Item);

            Assert.Same(bar0_1, tree.Nodes[0].Nodes[1].Item);
        }
        public void CheckHeight_Unbalanced_MinValue()
        {
            var actual = TreeExtensions.CheckHeight(CreateTwoLevelsUnbalanced());

            Assert.AreEqual(int.MinValue, actual);

            actual = TreeExtensions.CheckHeight(CreateThreeLevelsUnbalanced());
            Assert.AreEqual(int.MinValue, actual);
        }
        public void IsBalanced_Unbalanced_False()
        {
            var actual = TreeExtensions.IsBalanced(CreateTwoLevelsUnbalanced());

            Assert.AreEqual(false, actual);

            actual = TreeExtensions.IsBalanced(CreateThreeLevelsUnbalanced());
            Assert.AreEqual(false, actual);
        }
Exemple #5
0
        public void ListOfDepths_OneNode_One()
        {
            var tree = CreateOneNode();

            var actual = TreeExtensions.CreateListOfDepths(tree);

            Assert.AreEqual(1, actual.Count);
            Assert.AreEqual(0, actual[0].First.Value.Value);
        }
Exemple #6
0
        public void CheckBST_NonBST_False()
        {
            var actual = TreeExtensions.CheckBST(CreateTwoLevelsNonBST());

            Assert.AreEqual(false, actual);

            actual = TreeExtensions.CheckBST(CreateThreeLevelsNonBST());
            Assert.AreEqual(false, actual);
        }
Exemple #7
0
        public void ListOfDepths_TwoLevels_ExpectedResult()
        {
            var tree = CreateTwoLevels();

            var actual = TreeExtensions.CreateListOfDepths(tree);

            Assert.AreEqual(2, actual.Count);
            Assert.AreEqual(0, actual[0].First.Value.Value);
            Assert.AreEqual(1, actual[1].First.Value.Value);
            Assert.AreEqual(2, actual[1].First.Next.Value.Value);
        }
Exemple #8
0
        /// <summary>
        /// function for moving the control
        /// </summary>
        /// <param name="x"></param>
        /// <param name="y"></param>
        private void ProcessMove(double x, double y)
        {
            var width  = _partOverlay./*RenderSize.*/ Width;
            var height = _partOverlay./*RenderSize.*/ Height;
            var offset = TreeExtensions.GetOffsetFrom(this, _partWindow);
            //var offset = VisualTreeHelper.GetOffset(this.partWindow);
            //todo correct me
            var widthOffset  = offset.M11; // offset.X;
            var heightOffset = offset.M12; //offset.Y;

            var realX = _moveTransform.X + x + widthOffset;
            var realY = _moveTransform.Y + y + heightOffset;

            const int extraGap  = 5;
            var       widthGap  = Math.Max(_icon?./*Actual*/ Width + 5 ?? 30, 30);
            var       heightGap = Math.Max(this.TitleBarHeight, 30);
            var       changeX   = _moveTransform.X;
            var       changeY   = _moveTransform.Y;

            if (realX < (0 + extraGap))
            {
                changeX = -widthOffset + extraGap;
            }
            else if (realX > (width - widthGap - extraGap))
            {
                changeX = width - widthOffset - widthGap - extraGap;
            }
            else
            {
                changeX += x;
            }

            if (realY < (0 + extraGap))
            {
                changeY = -heightOffset + extraGap;
            }
            else if (realY > (height - heightGap - extraGap))
            {
                changeY = height - heightOffset - heightGap - extraGap;
            }
            else
            {
                changeY += y;
            }

            if (!Equals(changeX, _moveTransform.X) || !Equals(changeY, _moveTransform.Y))
            {
                this.SetValue(OffsetXProperty, changeX);
                this.SetValue(OffsetYProperty, changeY);

                this.InvalidateArrange();
            }
        }
        public void CheckHeight_Balanced_Zero()
        {
            var actual = TreeExtensions.CheckHeight(CreateOneNode());

            Assert.AreEqual(0, actual);

            actual = TreeExtensions.CheckHeight(CreateTwoLevels());
            Assert.AreEqual(1, actual);

            actual = TreeExtensions.CheckHeight(CreateThreeLevels());
            Assert.AreEqual(2, actual);
        }
        public void IsBalanced_Balanced_True()
        {
            var actual = TreeExtensions.IsBalanced(CreateOneNode());

            Assert.AreEqual(true, actual);

            actual = TreeExtensions.IsBalanced(CreateTwoLevels());
            Assert.AreEqual(true, actual);

            actual = TreeExtensions.IsBalanced(CreateThreeLevels());
            Assert.AreEqual(true, actual);
        }
Exemple #11
0
        public void CheckBST_BST_True()
        {
            var actual = TreeExtensions.CheckBST(CreateOneNode());

            Assert.AreEqual(true, actual);

            actual = TreeExtensions.CheckBST(CreateTwoLevels());
            Assert.AreEqual(true, actual);

            actual = TreeExtensions.CheckBST(CreateThreeLevels());
            Assert.AreEqual(true, actual);
        }
Exemple #12
0
        /// <summary>
        /// sets the Angle tot he rotate transform if not null
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ResizeThumb_DragStarted(object sender, VectorEventArgs e)
        {
            _designerItem = DataContext as ContentControl;

            if (_designerItem != null)
            {
                _canvas = TreeExtensions.TryFindParent <Canvas>(_designerItem);
                if (_canvas != null)
                {
                    _transformOrigin = _designerItem.RenderTransformOrigin;

                    _rotateTransform = _designerItem.RenderTransform as RotateTransform;
                    if (_rotateTransform != null)
                    {
                        _angle = _rotateTransform.Angle * Math.PI / 180.0;
                    }
                    else
                    {
                        _angle = 0.0d;
                    }
                }
            }
        }
Exemple #13
0
 private int[] UwzglednijPoziomyZagniezdzone(int aktualnyPoziom, bool uwzglednijBrygady)
 {
     #region przygotowanie drzewa
     List <TreeNode> _nodes = new List <TreeNode>();
     if (uwzglednijBrygady)
     {
         var wydzialy = context.Wydzialy;
         foreach (Wydzial w in wydzialy)
         {
             _nodes.Add(new TreeNode {
                 id = w.ID, text = w.Nazwa, parent = w.IDParent.ToString()
             });
         }
         Tree tree = TreeBuilder.BuildTree(_nodes);
         // dodanie podległych działów do wyniku - potomków w drzewie
         Tree        y = TreeExtensions.FindNode(tree, aktualnyPoziom);
         List <Tree> x = TreeExtensions.Descendants(y).ToList();
         return(x.Select(t => ( int )t.Id).ToArray());
     }
     else
     {
         var wydzialy = context.Wydzialy.Where(w => w.IsBrygada == uwzglednijBrygady);
         foreach (Wydzial w in wydzialy)
         {
             _nodes.Add(new TreeNode {
                 id = w.ID, text = w.Nazwa, parent = w.IDParent.ToString()
             });
         }
         Tree tree = TreeBuilder.BuildTree(_nodes);
         // dodanie podległych działów do wyniku - potomków w drzewie
         Tree        y = TreeExtensions.FindNode(tree, aktualnyPoziom);
         List <Tree> x = TreeExtensions.Descendants(y).ToList();
         return(x.Select(t => ( int )t.Id).ToArray());
     }
     #endregion
 }
Exemple #14
0
    static void Main(string[] args)
    {
        TreeExtensions.ReadTree();

        Console.WriteLine(/*Method name goes here*/);
    }
Exemple #15
0
 public static IReadOnlyCollection <ChainNode> ListLeafPaths(ChainNode node) =>
 TreeExtensions.ListLeafPaths(meta, node);
Exemple #16
0
 public static IReadOnlyCollection <string> ListXPaths(ChainNode node) =>
 TreeExtensions.ListXPaths(meta, node);
Exemple #17
0
 public static bool IsSubTreeOf(ChainNode node1, ChainNode node2) =>
 TreeExtensions.IsSubTreeOf(meta, node1, node2);
Exemple #18
0
 public static ChainNode Merge(ChainNode node1, ChainNode node2) =>
 TreeExtensions.Merge(meta, node1, node2);
Exemple #19
0
 public static ChainNode FindLinkedRootPath(ChainMemberNode node) =>
 TreeExtensions.FindLinkedRootPath(meta, node);
Exemple #20
0
 public static bool IsEqualTo(ChainNode node1, ChainNode node2) =>
 TreeExtensions.IsEqualTo(meta, node1, node2);
Exemple #21
0
 public static string[] FindLinkedRootKeyPath(ChainNode node) =>
 TreeExtensions.FindLinkedRootKeyPath(meta, node);
Exemple #22
0
 public static bool FindNode(ChainNode root, string[] path, out ChainMemberNode node) =>
 TreeExtensions.FindNode(meta, root, path, out node);
        public void CheckHeight_Null_NegativeOne()
        {
            var actual = TreeExtensions.CheckHeight <int>(null);

            Assert.AreEqual(-1, actual);
        }
Exemple #24
0
        public void CheckBST_Null_True()
        {
            var actual = TreeExtensions.CheckBST(null);

            Assert.AreEqual(true, actual);
        }
Exemple #25
0
        public void ListOfDepths_Null_Null()
        {
            var actual = TreeExtensions.CreateListOfDepths <int>(null);

            Assert.AreEqual(null, actual);
        }