示例#1
0
		public TreeViewModel New()
		{
			TreeViewModel treeViewModel = new TreeViewModel();
			treeViewModel.Id = ++this.MaxTreeId;
			this.treeViewModels.Add(treeViewModel);
			return treeViewModel;
		}
示例#2
0
		public TreeViewModel Clone(TreeViewModel treeViewModel)
		{
			TreeViewModel newTreeViewModel = (TreeViewModel)treeViewModel.Clone();
			newTreeViewModel.Id = ++this.MaxTreeId;
			this.treeViewModels.Add(newTreeViewModel);
			TreeLayout layout = new TreeLayout(newTreeViewModel);
			layout.ExcuteLayout();
			return newTreeViewModel;
		}
示例#3
0
		public TreeNodeViewModel(TreeViewModel treeViewModel, TreeNodeViewModel parent)
		{
			this.TreeViewModel = treeViewModel;
			this.Id = ++treeViewModel.MaxNodeId;
			this.Parent = parent;

			this.connectorX2 = Width + this.Parent.XX - this.XX;
			this.connectorY2 = Height / 2 + this.Parent.YY - this.YY;
		}
示例#4
0
		public TreeNodeViewModel(TreeViewModel treeViewModel, double x, double y)
		{
			this.TreeViewModel = treeViewModel;
			this.x = x;
			this.y = y;
			this.id = ++treeViewModel.MaxNodeId;
			this.connectorX2 = 0;
			this.connectorY2 = Height / 2;
		}
示例#5
0
        public void Open(string file)
        {
            this.rootList.Clear();
            this.treeViewModelsDict.Clear();

            var treeDict = new Dictionary <int, List <TreeNodeData> >();

            byte[] bytes       = File.ReadAllBytes(file);
            var    allTreeData = ProtobufHelper.FromBytes <AllTreeData>(bytes);

            this.MaxNodeId = 0;
            this.MaxTreeId = 0;
            foreach (TreeNodeData treeNodeData in allTreeData.TreeNodeDatas)
            {
                List <TreeNodeData> tree;
                treeDict.TryGetValue(treeNodeData.TreeId, out tree);
                if (tree == null)
                {
                    tree = new List <TreeNodeData>();
                    treeDict[treeNodeData.TreeId] = tree;
                }
                tree.Add(treeNodeData);
                if (treeNodeData.Id > this.MaxNodeId)
                {
                    this.MaxNodeId = treeNodeData.Id;
                }
                if (treeNodeData.TreeId > this.MaxTreeId)
                {
                    this.MaxTreeId = treeNodeData.TreeId;
                }
            }

            foreach (KeyValuePair <int, List <TreeNodeData> > pair in treeDict)
            {
                var treeViewModel = new TreeViewModel(pair.Value)
                {
                    AllTreeViewModel = this, TreeId = pair.Key
                };
                this.treeViewModelsDict[pair.Key] = treeViewModel;
                this.RootList.Add(treeViewModel.Root);
            }
        }
示例#6
0
        public void Open(string file)
        {
            this.treeViewModels.Clear();
            string content = File.ReadAllText(file);

            foreach (string line in content.Split(new[] { "\r\n" }, StringSplitOptions.None))
            {
                if (line.Trim() == "")
                {
                    continue;
                }
                TreeViewModel treeViewModel = MongoHelper.FromJson <TreeViewModel>(line);
                this.treeViewModels.Add(treeViewModel);
                TreeLayout layout = new TreeLayout(treeViewModel);
                layout.ExcuteLayout();
                if (treeViewModel.Id > this.MaxTreeId)
                {
                    this.MaxTreeId = treeViewModel.Id;
                }
            }
        }
示例#7
0
		public void Remove(TreeViewModel treeViewModel)
		{
			this.treeViewModels.Remove(treeViewModel);
		}
示例#8
0
		public TreeLayout(TreeViewModel treeViewModel)
		{
			this.treeViewModel = treeViewModel;
		}
示例#9
0
 public void Remove(TreeViewModel treeViewModel)
 {
     this.treeViewModels.Remove(treeViewModel);
 }
示例#10
0
 public TreeLayout(TreeViewModel treeViewModel)
 {
     this.treeViewModel = treeViewModel;
 }
示例#11
0
 public void Add(TreeViewModel treeViewModel)
 {
     this.treeViewModelsDict[treeViewModel.TreeId] = treeViewModel;
     this.rootList.Add(treeViewModel.Root);
 }
示例#12
0
 public void New(TreeViewModel treeViewModel)
 {
 }