コード例 #1
0
        public void UpdateView()
        {
            if (FUpdateLockCount > 0 || FRootNode == null)
            {
                FNeedsUpdate = true;
                return;
            }

            FNeedsUpdate = false;

            //after tree is built...
            //compute sibling offsets
            FRootNode.UpdateBounds();

            /*
             * //recompute depthoffsets from given view
             * // if (FRootNode.ContentSize.Width / FRootNode.ContentSize.Height < 0.8f)
             * {
             *  var fullDepth = 0f;
             *  foreach (var d in DepthOffsets)
             *      fullDepth += d.Value;
             *
             *  // prepare the temp list
             *  List<KeyValuePair<int, float>> list = new List<KeyValuePair<int, float>>(DepthOffsets);
             *
             *  // iterate through the list and then change the dictionary object
             *  foreach (var kvp in list)
             *      DepthOffsets[kvp.Key] = (kvp.Value / fullDepth) * FCanvas.ViewSize.Width;
             *
             *  //now recompute sibling offsets
             *  FRootNode.UpdateBounds();
             * }*/

            ViewAll();
        }