private bool FilterMethodeNodePassed(XmlNode methodNode, ItemFilter.FilterMode mode)
        {
            bool hasConflict = MethodeNodeHasConflict(methodNode);

            switch (mode)
            {
            case FilterMode.Conflict:
                return(hasConflict);

            case FilterMode.NoConflict:
                return(!hasConflict);
            }
            return(true);
        }
        private bool FilterParametersNodePassed(XmlNode parametersNode, ItemFilter.FilterMode mode)
        {
            bool hasConflict = ParametersNodeHasConflict(parametersNode);

            switch (mode)
            {
            case FilterMode.Conflict:
                return(hasConflict);

            case FilterMode.NoConflict:
                return(!hasConflict);
            }
            return(true);
        }
        private void FillForm()
        {
            dataGridViewMethods.Rows.Clear();
            dataGridViewMethodParameters.Rows.Clear();

            XmlNode methodsNode = _objectNode.SelectSingleNode(_itemKind);

            foreach (XmlNode methodNode in methodsNode.ChildNodes)
            {
                string name = methodNode.Attributes["Name"].InnerText;
                foreach (XmlNode paramsNode in methodNode.SelectNodes("Parameters"))
                {
                    ItemFilter.FilterMode mode = ItemFilter.FilterMode.All;
                    if (radioButtonConflicts.Checked == true)
                    {
                        mode = ItemFilter.FilterMode.Conflict;
                    }

                    if (true == _filterPassed(paramsNode, mode))
                    {
                        dataGridViewMethods.Rows.Add();
                        DataGridViewRow row = dataGridViewMethods.Rows[dataGridViewMethods.Rows.Count - 1];
                        row.Tag          = methodNode;
                        row.Cells[0].Tag = paramsNode;

                        WriteReadOnlyCell(row.Cells[0], GetReturnValue(paramsNode));
                        WriteReadOnlyCell(row.Cells[1], methodNode.Attributes["Caption"].InnerText);

                        int paramCount = 0;
                        if (null != paramsNode.SelectNodes("Parameter"))
                        {
                            paramCount = paramsNode.SelectNodes("Parameter").Count;
                        }

                        WriteReadOnlyCell(row.Cells[2], paramCount.ToString());

                        DataGridViewComboBoxCell comboCell = row.Cells[4] as DataGridViewComboBoxCell;
                        FillSuggestions(comboCell, methodNode.Attributes["Caption"].InnerText);
                    }
                }
            }

            _initializeFlag = false;
        }
        public bool FilterPassed(XmlNode node, ItemFilter.FilterMode mode)
        {
            if (mode == FilterMode.All)
            {
                return(true);
            }

            string nodeType = node.Name;

            switch (nodeType)
            {
            case "Method":
            {
                return(FilterMethodeNodePassed(node, mode));
            }

            case "Parameters":
            {
                return(FilterParametersNodePassed(node, mode));
            }
            }

            throw (new ArgumentException("Unkown Node Type: " + node.Name));
        }
 internal bool FilterPassed(XmlNode node, ItemFilter.FilterMode mode)
 {
     return(_filter.FilterPassed(node, mode));
 }