示例#1
0
        /// <summary>
        /// Обработка выбора операции для добавления в ограничение.
        /// После выбора операции мы передаем новый словарь с ограничениями
        /// через делегат functionAfterCheck.
        /// </summary>
        private void treeItem_AfterCheck(object sender, TreePathEventArgs e)
        {
            if (functionAfterCheck != null)
            {
                OnCheckOperationTree.ResetResStr();
                OnCheckOperationTree.ResetResDict();

                string res     = "";
                var    resDict = new SortedDictionary <int, List <int> >();

                treeItem_ChangeCheckBoxState(sender, e);

                List <TreeNodeAdv> treeNodes = modesTreeViewAdv.AllNodes
                                               .ToList();
                TreeNodeAdv treeNode = treeNodes[0];
                OnCheckOperationTree.Execute(treeNode);

                res     = OnCheckOperationTree.GetResStr();
                resDict = OnCheckOperationTree.GetResDict();

                modesTreeViewAdv.Refresh();

                functionAfterCheck(resDict);
            }
        }
示例#2
0
        /// <summary>
        /// Выбор операции на дереве, которые входят в ограничения.
        /// </summary>
        /// <param name="checkedDev">Объект, в котором хранятся ограничения.
        /// </param>
        /// <param name="function">Делегат, который вызывается при последующих
        /// изменениях операций в ограничениях.</param>
        public void SelectDevices(Editor.ITreeViewItem checkedDev,
                                  OnSetNewValue function)
        {
            modesTreeViewAdv.BeginUpdate();
            foreach (TreeNodeAdv boxedNode in modesTreeViewAdv.AllNodes)
            {
                Node node = boxedNode.Tag as Node;
                node.CheckState = CheckState.Unchecked;
            }

            nodeCheckBox.CheckStateChanged -= treeItem_AfterCheck;

            if (function != null)
            {
                functionAfterCheck = function;
            }

            var         treeModel = modesTreeViewAdv.Model as TreeModel;
            List <Node> nodes     = treeModel.Nodes.ToList();

            SelectedDevices(nodes, checkedDev);

            nodeCheckBox.CheckStateChanged += treeItem_AfterCheck;

            modesTreeViewAdv.EndUpdate();

            var root = (Node)modesTreeViewAdv.AllNodes.First()?.Tag;

            OnCheckOperationTree.RefreshDict(root);
        }
示例#3
0
        /// <summary>
        /// Обработка выбора операции для добавления в ограничение.
        /// После выбора операции мы передаем новый словарь с ограничениями
        /// через делегат functionAfterCheck.
        /// </summary>
        private void treeItem_AfterCheck(object sender, TreePathEventArgs e)
        {
            if (functionAfterCheck != null)
            {
                treeItem_ChangeCheckBoxState(sender, e);

                Node selectedNode = GetSelectedNodeForCheckOperationTree(e);
                OnCheckOperationTree.Execute(selectedNode, SelectedTreeItem);

                IDictionary <int, List <int> > resDict;
                resDict = OnCheckOperationTree.GetResDict();

                modesTreeViewAdv.Refresh();

                functionAfterCheck(resDict);
            }
        }
示例#4
0
        /// <summary>
        /// Обработка выбора устройства для добавления его к шагу.
        /// После выбора устройства мы передаем новую строку с устройствами
        /// через делегат functionAfterCheck.
        /// </summary>
        private void treeItem_AfterCheck(object sender, TreePathEventArgs e)
        {
            if (functionAfterCheck != null)
            {
                OnCheckOperationTree.ResetResStr();
                string res = "";

                treeItem_ChangeCheckBoxState(sender, e);

                List <TreeNodeAdv> treeNodes = devicesTreeViewAdv.AllNodes.ToList();
                TreeNodeAdv        treeNode  = treeNodes[0];
                OnCheckOperationTree.Execute(treeNode);

                res = OnCheckOperationTree.GetResStr();

                devicesTreeViewAdv.Refresh();

                functionAfterCheck(res);
            }
        }