예제 #1
0
        public FormConstructor(TreeViewSerialize treeViewSerializeIn, List <TableGraph> listTableGraphIn, UserSystemDialog userSystemDialogIn, bool isFormConstructorIn)
        {
            InitializeComponent();

            _graph = new Graph();

            _isFormConstructor = isFormConstructorIn;
            _userSystemDialog  = userSystemDialogIn;

            _graph.ListGraphs = new List <TableGraph>();
            if (listTableGraphIn != null)
            {
                foreach (TableGraph tg in listTableGraphIn)
                {
                    _graph.ListGraphs.Add(tg.Clone() as TableGraph);
                }
            }
            if (treeViewSerializeIn != null)
            {
                var nodes = TreeViewP3.Nodes;
                Settings.FromTreeViewSerialize(treeViewSerializeIn, ref nodes, ref _graph.ListGraphs);
            }



            if (isFormConstructorIn)
            {
                InitializeFormConstructor();
            }
            else
            {
                InitializeFormResult();
            }
        }
예제 #2
0
            public static void FromTreeViewSerialize(TreeViewSerialize treeViewSerializeIn, ref TreeNodeCollection treeNodeCollectionOut, ref List <TableGraph> listTableGraphOut)
            {
                TreeNodeCollection nodes = treeNodeCollectionOut;

                if (treeViewSerializeIn?.Text != null)
                {
                    TreeNode node = treeNodeCollectionOut.Add(treeViewSerializeIn.Text);
                    node.Checked = treeViewSerializeIn.IsCheked;
                    node.Tag     = treeViewSerializeIn.GraphId;
                    nodes        = node.Nodes;

                    var tableGraph = listTableGraphOut.FirstOrDefault(x => x.Id == treeViewSerializeIn.GraphId);
                    if (tableGraph != null)
                    {
                        tableGraph.LayerTreeNodeOwner = node;
                    }
                }

                if (treeViewSerializeIn?.NodeList != null)
                {
                    foreach (TreeViewSerialize treeViewSerialize in treeViewSerializeIn.NodeList)
                    {
                        FromTreeViewSerialize(treeViewSerialize, ref nodes, ref listTableGraphOut);
                    }
                }
            }
예제 #3
0
 public static void CreateFormRusult(TreeViewSerialize treeViewSerializeIn, List <TableGraph> listTableGraphIn, UserSystemDialog userSystemDialogIn, bool isFormConstructor)
 {
     if (FormResult == null)
     {
         FormResult = new FormConstructor(treeViewSerializeIn, listTableGraphIn, userSystemDialogIn, isFormConstructor);
         FormResult.Show();
     }
 }
예제 #4
0
            public static bool LoadDataFromFile(ref TreeViewSerialize treeViewSerializeOut, ref List <TableGraph> listTableGraphOut, string previosBasePathIn = null)
            {
                bool res = true;

                try
                {
                    string filePath = previosBasePathIn;
                    if (String.IsNullOrWhiteSpace(filePath))
                    {
                        using (OpenFileDialog openFileDialog = new OpenFileDialog())
                        {
                            openFileDialog.Filter           = _fileFilter;
                            openFileDialog.InitialDirectory = Environment.CurrentDirectory;
                            if (openFileDialog.ShowDialog() == DialogResult.OK)
                            {
                                Properties.Settings.Default.PreviousBasePath = openFileDialog.FileName;
                                Properties.Settings.Default.Save();

                                filePath = openFileDialog.FileName;
                            }
                        }
                    }

                    if (!String.IsNullOrWhiteSpace(filePath))
                    {
                        using (StreamReader streamReader = new StreamReader(filePath))
                        {
                            string textFromFile = streamReader.ReadToEnd();
                            SaveLoadDataSerialize dataSerialize = JsonConvert.DeserializeObject <SaveLoadDataSerialize>(textFromFile);

                            treeViewSerializeOut = dataSerialize.TreeViewSerialize;
                            listTableGraphOut    = dataSerialize.TableGraphsList;

                            streamReader.Close();
                        }
                    }
                }
                catch (Exception e)
                {
                    res = false;
                    MessageBox.Show(e.Message, "Ошибка!");
                }

                return(res);
            }
예제 #5
0
            public static void ToTreeViewSerialize(ref TreeViewSerialize treeViewSerialize, TreeNodeCollection treeNodeCollection)
            {
                if (treeNodeCollection.Count > 0)
                {
                    treeViewSerialize.NodeList = new List <TreeViewSerialize>();
                    foreach (TreeNode node in treeNodeCollection)
                    {
                        TreeViewSerialize tvSerialize = new TreeViewSerialize()
                        {
                            GraphId  = (int?)node.Tag,
                            IsCheked = node.Checked,
                            Text     = node.Text
                        };

                        treeViewSerialize.NodeList.Add(tvSerialize);
                        ToTreeViewSerialize(ref tvSerialize, node.Nodes);
                    }
                }
            }
예제 #6
0
 public SaveLoadDataSerialize(List <TableGraph> tableGraphsIn)
 {
     TreeViewSerialize = new TreeViewSerialize();
     TableGraphsList   = new List <TableGraph>(tableGraphsIn);
 }