示例#1
0
        private void searchTreeViewInit()
        {
            searchTreeView.Nodes.Clear();

            foreach (TreeNode tnMainParent in elemsTreeView.Nodes)
            {
                switch (S6xNav.getHeaderCateg(tnMainParent.Name))
                {
                case S6xNavHeaderCategory.PROPERTIES:
                case S6xNavHeaderCategory.RESERVED:
                    continue;

                case S6xNavHeaderCategory.TABLES:
                case S6xNavHeaderCategory.FUNCTIONS:
                case S6xNavHeaderCategory.SCALARS:
                case S6xNavHeaderCategory.STRUCTURES:
                case S6xNavHeaderCategory.ROUTINES:
                case S6xNavHeaderCategory.OPERATIONS:
                case S6xNavHeaderCategory.REGISTERS:
                case S6xNavHeaderCategory.OTHER:
                case S6xNavHeaderCategory.SIGNATURES:
                case S6xNavHeaderCategory.ELEMSSIGNATURES:
                    TreeNode tnParent = new TreeNode();
                    tnParent.Name          = tnMainParent.Name;
                    tnParent.Text          = S6xNav.getHeaderCategLabel(S6xNav.getHeaderCateg(tnMainParent.Name));
                    tnParent.ToolTipText   = tnMainParent.ToolTipText;
                    tnParent.StateImageKey = tnMainParent.StateImageKey;
                    searchTreeView.Nodes.Add(tnParent);
                    break;

                default:
                    continue;
                }
            }
        }
示例#2
0
        private void createAll()
        {
            int topBitFlag = 15;

            if (s6xScalar != null)
            {
                if (s6xScalar.Byte)
                {
                    topBitFlag = 7;
                }
            }

            for (int iBit = 0; iBit <= topBitFlag; iBit++)
            {
                S6xBitFlag bitFlag = new S6xBitFlag();
                bitFlag.Position = iBit;

                string uniqueKey = bitFlag.UniqueKey;

                if (!slBitFlags.ContainsKey(uniqueKey))
                {
                    slBitFlags.Add(uniqueKey, bitFlag);
                    bitFlag.Label       = "B" + iBit.ToString();
                    bitFlag.ShortLabel  = bitFlag.Label;
                    bitFlag.SetValue    = "1";
                    bitFlag.NotSetValue = "0";

                    bitFlag.DateCreated           = DateTime.UtcNow;
                    bitFlag.DateUpdated           = DateTime.UtcNow;
                    bitFlag.Category              = string.Empty;
                    bitFlag.Category2             = string.Empty;
                    bitFlag.Category3             = string.Empty;
                    bitFlag.IdentificationStatus  = 0;
                    bitFlag.IdentificationDetails = string.Empty;

                    updateArray(TreeRootNodeName);

                    TreeNode tnNode = new TreeNode();
                    tnNode.Name          = uniqueKey;
                    tnNode.Text          = bitFlag.Label;
                    tnNode.StateImageKey = S6xNav.getIdentificationStatusStateImageKey(bitFlag.IdentificationStatus);
                    advElemsTreeView.Nodes[TreeRootNodeName].Nodes.Add(tnNode);

                    tnNode = null;
                }

                bitFlag = null;
            }

            closingDialogResult = DialogResult.OK;

            advElemsTreeView.ExpandAll();

            if (advElemsTreeView.Nodes[TreeRootNodeName].Nodes.Count > 0)
            {
                advElemsTreeView.SelectedNode = advElemsTreeView.Nodes[TreeRootNodeName].Nodes[0];
            }
        }
示例#3
0
        private List <string[]> SearchAdvancedRoutines()
        {
            List <string[]> results = new List <string[]>();

            foreach (S6xRoutine s6xObject in sadS6x.slRoutines.Values)
            {
                if (s6xObject.isAdvanced)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.ROUTINES), s6xObject.UniqueAddress });
                }
            }

            return(results);
        }
示例#4
0
        private void loadElemsTreeView()
        {
            TreeNode tnNode = null;

            foreach (S6xBitFlag s6xObject in slBitFlags.Values)
            {
                tnNode      = new TreeNode();
                tnNode.Name = s6xObject.UniqueKey;
                if (s6xObject.Label == "B" + s6xObject.Position.ToString())
                {
                    tnNode.Text = s6xObject.Label;
                }
                else
                {
                    tnNode.Text = "B" + s6xObject.Position.ToString() + " - " + s6xObject.Label;
                }
                tnNode.StateImageKey = S6xNav.getIdentificationStatusStateImageKey(s6xObject.IdentificationStatus);
                advElemsTreeView.Nodes[TreeRootNodeName].Nodes.Add(tnNode);
                tnNode = null;
            }

            advElemsTreeView.ExpandAll();
        }
示例#5
0
        private void searchTreeViewCount()
        {
            foreach (TreeNode tnParent in searchTreeView.Nodes)
            {
                switch (S6xNav.getHeaderCateg(tnParent.Name))
                {
                case S6xNavHeaderCategory.TABLES:
                case S6xNavHeaderCategory.FUNCTIONS:
                case S6xNavHeaderCategory.SCALARS:
                case S6xNavHeaderCategory.STRUCTURES:
                case S6xNavHeaderCategory.ROUTINES:
                case S6xNavHeaderCategory.OPERATIONS:
                case S6xNavHeaderCategory.REGISTERS:
                case S6xNavHeaderCategory.OTHER:
                case S6xNavHeaderCategory.SIGNATURES:
                case S6xNavHeaderCategory.ELEMSSIGNATURES:
                    break;

                default:
                    continue;
                }
                tnParent.Text = S6xNav.getHeaderCategLabel(tnParent.Name) + " (" + tnParent.Nodes.Count.ToString() + ")";
            }
        }
示例#6
0
        private List <string[]> SearchText(string searchText)
        {
            List <string[]> results = new List <string[]>();

            foreach (S6xFunction s6xObject in sadS6x.slFunctions.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.ShortLabel, s6xObject.InputUnits, s6xObject.OutputUnits, s6xObject.Comments, s6xObject.Information, s6xObject.Category, s6xObject.Category2, s6xObject.Category3, s6xObject.IdentificationDetails };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.FUNCTIONS), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xOperation s6xObject in sadS6x.slOperations.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.ShortLabel, s6xObject.Comments, s6xObject.Information, s6xObject.Category, s6xObject.Category2, s6xObject.Category3, s6xObject.IdentificationDetails };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.OPERATIONS), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xOtherAddress s6xObject in sadS6x.slOtherAddresses.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.Comments, s6xObject.Information, s6xObject.Category, s6xObject.Category2, s6xObject.Category3, s6xObject.IdentificationDetails };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.OTHER), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xRegister s6xObject in sadS6x.slRegisters.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.ByteLabel, s6xObject.WordLabel, s6xObject.ConstValue, s6xObject.Units, s6xObject.Comments, s6xObject.Information, s6xObject.Category, s6xObject.Category2, s6xObject.Category3, s6xObject.IdentificationDetails };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                // BitFlags AddOn
                if (!isResult && s6xObject.BitFlagsNum > 0)
                {
                    foreach (S6xBitFlag s6xBF in s6xObject.BitFlags)
                    {
                        searchValues = new string[] { s6xBF.ShortLabel, s6xBF.Label, s6xBF.SetValue, s6xBF.NotSetValue, s6xBF.Comments, s6xBF.Category, s6xBF.Category2, s6xBF.Category3, s6xBF.IdentificationDetails };
                        foreach (string searchValue in searchValues)
                        {
                            string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                            if (cSearchValue.Contains(searchText))
                            {
                                isResult = true;
                                break;
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.REGISTERS), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xRoutine s6xObject in sadS6x.slRoutines.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.ShortLabel, s6xObject.Comments, s6xObject.Information, s6xObject.Category, s6xObject.Category2, s6xObject.Category3, s6xObject.IdentificationDetails };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                if (!isResult && s6xObject.InputArguments != null)
                {
                    // Nothing Interesting to search for
                }
                if (!isResult && s6xObject.InputStructures != null)
                {
                    // Nothing Interesting to search for
                }
                if (!isResult && s6xObject.InputTables != null)
                {
                    foreach (S6xRoutineInputTable s6xSubObject in s6xObject.InputTables)
                    {
                        searchValues = new string[] { s6xSubObject.ForcedCellsUnits, s6xSubObject.ForcedColsUnits, s6xSubObject.ForcedRowsUnits };
                        foreach (string searchValue in searchValues)
                        {
                            string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                            if (cSearchValue.Contains(searchText))
                            {
                                isResult = true;
                                break;
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }
                    }
                }
                if (!isResult && s6xObject.InputFunctions != null)
                {
                    foreach (S6xRoutineInputFunction s6xSubObject in s6xObject.InputFunctions)
                    {
                        searchValues = new string[] { s6xSubObject.ForcedInputUnits, s6xSubObject.ForcedOutputUnits };
                        foreach (string searchValue in searchValues)
                        {
                            string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                            if (cSearchValue.Contains(searchText))
                            {
                                isResult = true;
                                break;
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }
                    }
                }
                if (!isResult && s6xObject.InputScalars != null)
                {
                    foreach (S6xRoutineInputScalar s6xSubObject in s6xObject.InputScalars)
                    {
                        searchValues = new string[] { s6xSubObject.ForcedUnits };
                        foreach (string searchValue in searchValues)
                        {
                            string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                            if (cSearchValue.Contains(searchText))
                            {
                                isResult = true;
                                break;
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.ROUTINES), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xScalar s6xObject in sadS6x.slScalars.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.ShortLabel, s6xObject.Units, s6xObject.Comments, s6xObject.Information, s6xObject.Category, s6xObject.Category2, s6xObject.Category3, s6xObject.IdentificationDetails };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                // BitFlags AddOn
                if (!isResult && s6xObject.BitFlagsNum > 0)
                {
                    foreach (S6xBitFlag s6xBF in s6xObject.BitFlags)
                    {
                        searchValues = new string[] { s6xBF.ShortLabel, s6xBF.Label, s6xBF.SetValue, s6xBF.NotSetValue, s6xBF.Comments, s6xBF.Category, s6xBF.Category2, s6xBF.Category3, s6xBF.IdentificationDetails };
                        foreach (string searchValue in searchValues)
                        {
                            string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                            if (cSearchValue.Contains(searchText))
                            {
                                isResult = true;
                                break;
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.SCALARS), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xStructure s6xObject in sadS6x.slStructures.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.ShortLabel, s6xObject.Comments, s6xObject.Information, s6xObject.Category, s6xObject.Category2, s6xObject.Category3, s6xObject.IdentificationDetails };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.STRUCTURES), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xTable s6xObject in sadS6x.slTables.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.ShortLabel, s6xObject.CellsUnits, s6xObject.ColsUnits, s6xObject.RowsUnits, s6xObject.Comments, s6xObject.Information, s6xObject.Category, s6xObject.Category2, s6xObject.Category3, s6xObject.IdentificationDetails };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.TABLES), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xSignature s6xObject in sadS6x.slSignatures.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.SignatureLabel, s6xObject.SignatureCategory, s6xObject.SignatureComments, s6xObject.Label, s6xObject.ShortLabel, s6xObject.Comments, s6xObject.Information, s6xObject.SignatureCategory, s6xObject.SignatureCategory2, s6xObject.SignatureCategory3, s6xObject.IdentificationDetails, s6xObject.RoutineCategory, s6xObject.RoutineCategory2, s6xObject.RoutineCategory3, s6xObject.IdentificationDetails };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                if (!isResult && s6xObject.InputArguments != null)
                {
                    // Nothing Interesting to search for
                }
                if (!isResult && s6xObject.InputStructures != null)
                {
                    // Nothing Interesting to search for
                }
                if (!isResult && s6xObject.InputTables != null)
                {
                    foreach (S6xRoutineInputTable s6xSubObject in s6xObject.InputTables)
                    {
                        searchValues = new string[] { s6xSubObject.ForcedCellsUnits, s6xSubObject.ForcedColsUnits, s6xSubObject.ForcedRowsUnits };
                        foreach (string searchValue in searchValues)
                        {
                            string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                            if (cSearchValue.Contains(searchText))
                            {
                                isResult = true;
                                break;
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }
                    }
                }
                if (!isResult && s6xObject.InputFunctions != null)
                {
                    foreach (S6xRoutineInputFunction s6xSubObject in s6xObject.InputFunctions)
                    {
                        searchValues = new string[] { s6xSubObject.ForcedInputUnits, s6xSubObject.ForcedOutputUnits };
                        foreach (string searchValue in searchValues)
                        {
                            string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                            if (cSearchValue.Contains(searchText))
                            {
                                isResult = true;
                                break;
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }
                    }
                }
                if (!isResult && s6xObject.InputScalars != null)
                {
                    foreach (S6xRoutineInputScalar s6xSubObject in s6xObject.InputScalars)
                    {
                        searchValues = new string[] { s6xSubObject.ForcedUnits };
                        foreach (string searchValue in searchValues)
                        {
                            string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                            if (cSearchValue.Contains(searchText))
                            {
                                isResult = true;
                                break;
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }
                    }
                }
                if (!isResult && s6xObject.InternalStructures != null)
                {
                    foreach (S6xRoutineInternalStructure s6xSubObject in s6xObject.InternalStructures)
                    {
                        searchValues = new string[] { s6xSubObject.Label, s6xSubObject.ShortLabel, s6xSubObject.Comments, s6xSubObject.Category, s6xSubObject.Category2, s6xSubObject.Category3, s6xSubObject.IdentificationDetails };
                        foreach (string searchValue in searchValues)
                        {
                            string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                            if (cSearchValue.Contains(searchText))
                            {
                                isResult = true;
                                break;
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }
                    }
                }
                if (!isResult && s6xObject.InternalTables != null)
                {
                    foreach (S6xRoutineInternalTable s6xSubObject in s6xObject.InternalTables)
                    {
                        searchValues = new string[] { s6xSubObject.Label, s6xSubObject.ShortLabel, s6xSubObject.CellsUnits, s6xSubObject.ColsUnits, s6xSubObject.RowsUnits, s6xSubObject.Comments, s6xSubObject.Category, s6xSubObject.Category2, s6xSubObject.Category3, s6xSubObject.IdentificationDetails };
                        foreach (string searchValue in searchValues)
                        {
                            string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                            if (cSearchValue.Contains(searchText))
                            {
                                isResult = true;
                                break;
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }
                    }
                }
                if (!isResult && s6xObject.InternalFunctions != null)
                {
                    foreach (S6xRoutineInternalFunction s6xSubObject in s6xObject.InternalFunctions)
                    {
                        searchValues = new string[] { s6xSubObject.Label, s6xSubObject.ShortLabel, s6xSubObject.InputUnits, s6xSubObject.OutputUnits, s6xSubObject.Comments, s6xSubObject.Category, s6xSubObject.Category2, s6xSubObject.Category3, s6xSubObject.IdentificationDetails };
                        foreach (string searchValue in searchValues)
                        {
                            string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                            if (cSearchValue.Contains(searchText))
                            {
                                isResult = true;
                                break;
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }
                    }
                }
                if (!isResult && s6xObject.InternalScalars != null)
                {
                    foreach (S6xRoutineInternalScalar s6xSubObject in s6xObject.InternalScalars)
                    {
                        searchValues = new string[] { s6xSubObject.Label, s6xSubObject.ShortLabel, s6xSubObject.Units, s6xSubObject.Comments, s6xSubObject.Category, s6xSubObject.Category2, s6xSubObject.Category3, s6xSubObject.IdentificationDetails };
                        foreach (string searchValue in searchValues)
                        {
                            string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                            if (cSearchValue.Contains(searchText))
                            {
                                isResult = true;
                                break;
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }

                        // BitFlags AddOn
                        if (s6xSubObject.BitFlagsNum > 0)
                        {
                            foreach (S6xBitFlag s6xBF in s6xSubObject.BitFlags)
                            {
                                searchValues = new string[] { s6xBF.ShortLabel, s6xBF.Label, s6xBF.SetValue, s6xBF.NotSetValue, s6xBF.Comments, s6xBF.Category, s6xBF.Category2, s6xBF.Category3, s6xBF.IdentificationDetails };
                                foreach (string searchValue in searchValues)
                                {
                                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                                    if (cSearchValue.Contains(searchText))
                                    {
                                        isResult = true;
                                        break;
                                    }
                                }
                                if (isResult)
                                {
                                    break;
                                }
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.SIGNATURES), s6xObject.UniqueKey });
                }
            }
            foreach (S6xElementSignature s6xObject in sadS6x.slElementsSignatures.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.SignatureLabel, s6xObject.SignatureKey, s6xObject.SignatureCategory, s6xObject.SignatureComments, s6xObject.Information, s6xObject.SignatureCategory, s6xObject.SignatureCategory2, s6xObject.SignatureCategory3, s6xObject.IdentificationDetails };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                if (!isResult && s6xObject.Scalar != null)
                {
                    searchValues = new string[] { s6xObject.Scalar.Label, s6xObject.Scalar.ShortLabel, s6xObject.Scalar.Units, s6xObject.Scalar.Comments, s6xObject.Scalar.Category, s6xObject.Scalar.Category2, s6xObject.Scalar.Category3, s6xObject.Scalar.IdentificationDetails };
                    foreach (string searchValue in searchValues)
                    {
                        string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                        if (cSearchValue.Contains(searchText))
                        {
                            isResult = true;
                            break;
                        }
                    }
                    // BitFlags AddOn
                    if (!isResult && s6xObject.Scalar.BitFlagsNum > 0)
                    {
                        foreach (S6xBitFlag s6xBF in s6xObject.Scalar.BitFlags)
                        {
                            searchValues = new string[] { s6xBF.ShortLabel, s6xBF.Label, s6xBF.SetValue, s6xBF.NotSetValue, s6xBF.Comments };
                            foreach (string searchValue in searchValues)
                            {
                                string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                                if (cSearchValue.Contains(searchText))
                                {
                                    isResult = true;
                                    break;
                                }
                            }
                            if (isResult)
                            {
                                break;
                            }
                        }
                    }
                }
                if (!isResult && s6xObject.Function != null)
                {
                    searchValues = new string[] { s6xObject.Function.Label, s6xObject.Function.ShortLabel, s6xObject.Function.InputUnits, s6xObject.Function.OutputUnits, s6xObject.Function.Comments, s6xObject.Function.Category, s6xObject.Function.Category2, s6xObject.Function.Category3, s6xObject.Function.IdentificationDetails };
                    foreach (string searchValue in searchValues)
                    {
                        string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                        if (cSearchValue.Contains(searchText))
                        {
                            isResult = true;
                            break;
                        }
                    }
                }
                if (!isResult && s6xObject.Table != null)
                {
                    searchValues = new string[] { s6xObject.Table.Label, s6xObject.Table.ShortLabel, s6xObject.Table.CellsUnits, s6xObject.Table.ColsUnits, s6xObject.Table.RowsUnits, s6xObject.Table.Comments, s6xObject.Table.Category, s6xObject.Table.Category2, s6xObject.Table.Category3, s6xObject.Table.IdentificationDetails };
                    foreach (string searchValue in searchValues)
                    {
                        string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                        if (cSearchValue.Contains(searchText))
                        {
                            isResult = true;
                            break;
                        }
                    }
                }
                if (!isResult && s6xObject.Structure != null)
                {
                    searchValues = new string[] { s6xObject.Structure.Label, s6xObject.Structure.ShortLabel, s6xObject.Structure.Comments, s6xObject.Structure.Category, s6xObject.Structure.Category2, s6xObject.Structure.Category3, s6xObject.Structure.IdentificationDetails };
                    foreach (string searchValue in searchValues)
                    {
                        string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                        if (cSearchValue.Contains(searchText))
                        {
                            isResult = true;
                            break;
                        }
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.ELEMSSIGNATURES), s6xObject.UniqueKey });
                }
            }

            return(results);
        }
示例#7
0
        private void updateElem()
        {
            string categ          = string.Empty;
            string uniqueKey      = string.Empty;
            string startUniqueKey = string.Empty;
            string label          = string.Empty;
            string comments       = string.Empty;

            categ = TreeRootNodeName;

            if (!checkElem(categ))
            {
                MessageBox.Show("Invalid values are present, please correct them to continue.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (currentTreeNode != null)
            {
                if (currentTreeNode.Name == categ)
                {
                    currentTreeNode = null;
                }
            }

            switch (categ)
            {
            case TreeRootNodeName:
                S6xBitFlag bitFlag = new S6xBitFlag();
                bitFlag.Position = bitFlagPositionComboBox.SelectedIndex;
                uniqueKey        = bitFlag.UniqueKey;

                // Start position change mngt
                if (bitFlagPositionComboBox.Tag != null)
                {
                    S6xBitFlag startBitFlag = new S6xBitFlag();
                    startBitFlag.Position = (int)bitFlagPositionComboBox.Tag;
                    startUniqueKey        = startBitFlag.UniqueKey;
                    startBitFlag          = null;
                }

                if (slBitFlags.ContainsKey(uniqueKey))
                {
                    bitFlag = (S6xBitFlag)slBitFlags[uniqueKey];
                }
                else
                {
                    slBitFlags.Add(uniqueKey, bitFlag);
                }

                bitFlag.Label       = bitFlagLabelTextBox.Text;
                bitFlag.ShortLabel  = bitFlagSLabelTextBox.Text;
                bitFlag.Skip        = bitFlagSkipCheckBox.Checked;
                bitFlag.SetValue    = bitFlagSetValueTextBox.Text;
                bitFlag.NotSetValue = bitFlagNSetValueTextBox.Text;
                bitFlag.Comments    = bitFlagCommentsTextBox.Text;
                bitFlag.Position    = bitFlagPositionComboBox.SelectedIndex;
                bitFlag.HideParent  = bitFlagHParentCheckBox.Checked;

                bitFlag.IdentificationStatus  = sharedIdentificationStatusTrackBar.Value;
                bitFlag.IdentificationDetails = sharedIdentificationDetailsTextBox.Text;

                bitFlag.DateCreated = sharedDateCreatedDateTimePicker.Value.ToUniversalTime();
                sharedDateUpdatedDateTimePicker.Value = DateTime.Now;
                bitFlag.DateUpdated = sharedDateUpdatedDateTimePicker.Value.ToUniversalTime();

                bitFlag.Category  = sharedCategComboBox.Text;
                bitFlag.Category2 = sharedCateg2ComboBox.Text;
                bitFlag.Category3 = sharedCateg3ComboBox.Text;

                // Start position change mngt
                if (startUniqueKey != string.Empty && uniqueKey != startUniqueKey)
                {
                    if (slBitFlags.ContainsKey(startUniqueKey))
                    {
                        slBitFlags.Remove(startUniqueKey);
                    }
                }

                label = bitFlag.Label;
                if (label != "B" + bitFlag.Position.ToString())
                {
                    label = "B" + bitFlag.Position.ToString() + " - " + label;
                }
                comments = bitFlag.Comments;

                bitFlag = null;
                break;

            default:
                return;
            }

            if (startUniqueKey != string.Empty && uniqueKey != startUniqueKey)
            {
                if (advElemsTreeView.Nodes[TreeRootNodeName].Nodes.ContainsKey(startUniqueKey))
                {
                    advElemsTreeView.Nodes[TreeRootNodeName].Nodes.RemoveByKey(startUniqueKey);
                }
            }

            if (uniqueKey != string.Empty && uniqueKey != startUniqueKey)
            {
                updateArray(categ);

                currentTreeNode      = new TreeNode();
                currentTreeNode.Name = uniqueKey;
                advElemsTreeView.Nodes[TreeRootNodeName].Nodes.Add(currentTreeNode);
            }

            closingDialogResult = DialogResult.OK;

            currentTreeNode.Text          = label;
            currentTreeNode.ToolTipText   = comments;
            currentTreeNode.StateImageKey = S6xNav.getIdentificationStatusStateImageKey(sharedIdentificationStatusTrackBar.Value);

            clearElem();

            advElemsTreeView.SelectedNode = advElemsTreeView.Nodes[TreeRootNodeName];
        }
示例#8
0
        private List <string[]> SearchText(string searchText)
        {
            List <string[]> results = new List <string[]>();

            foreach (S6xFunction s6xObject in sadS6x.slFunctions.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.ShortLabel, s6xObject.Comments, s6xObject.Information };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.FUNCTIONS), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xOperation s6xObject in sadS6x.slOperations.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.ShortLabel, s6xObject.Comments, s6xObject.Information };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.OPERATIONS), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xOtherAddress s6xObject in sadS6x.slOtherAddresses.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.Comments, s6xObject.Information };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.OTHER), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xRegister s6xObject in sadS6x.slRegisters.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.ByteLabel, s6xObject.WordLabel, s6xObject.Comments, s6xObject.Information };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                // BitFlags AddOn
                if (!isResult && s6xObject.BitFlagsNum > 0)
                {
                    foreach (S6xBitFlag s6xBF in s6xObject.BitFlags)
                    {
                        searchValues = new string[] { s6xBF.ShortLabel, s6xBF.Label, s6xBF.SetValue, s6xBF.NotSetValue, s6xBF.Comments };
                        foreach (string searchValue in searchValues)
                        {
                            string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                            if (cSearchValue.Contains(searchText))
                            {
                                isResult = true;
                                break;
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.REGISTERS), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xRoutine s6xObject in sadS6x.slRoutines.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.ShortLabel, s6xObject.Comments, s6xObject.Information };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.ROUTINES), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xScalar s6xObject in sadS6x.slScalars.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.ShortLabel, s6xObject.Comments, s6xObject.Information };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                // BitFlags AddOn
                if (!isResult && s6xObject.BitFlagsNum > 0)
                {
                    foreach (S6xBitFlag s6xBF in s6xObject.BitFlags)
                    {
                        searchValues = new string[] { s6xBF.ShortLabel, s6xBF.Label, s6xBF.SetValue, s6xBF.NotSetValue, s6xBF.Comments };
                        foreach (string searchValue in searchValues)
                        {
                            string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                            if (cSearchValue.Contains(searchText))
                            {
                                isResult = true;
                                break;
                            }
                        }
                        if (isResult)
                        {
                            break;
                        }
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.SCALARS), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xSignature s6xObject in sadS6x.slSignatures.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.SignatureLabel, s6xObject.SignatureCategory, s6xObject.SignatureComments, s6xObject.Label, s6xObject.ShortLabel, s6xObject.Comments, s6xObject.Information };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                // TO BE EXTENDED
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.SIGNATURES), s6xObject.UniqueKey });
                }
            }
            foreach (S6xElementSignature s6xObject in sadS6x.slElementsSignatures.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.SignatureLabel, s6xObject.SignatureKey, s6xObject.SignatureCategory, s6xObject.SignatureComments, s6xObject.Information, string.Empty, string.Empty, string.Empty };
                if (s6xObject.Scalar != null)
                {
                    searchValues[5] = s6xObject.Scalar.Label;
                    searchValues[6] = s6xObject.Scalar.ShortLabel;
                    searchValues[7] = s6xObject.Scalar.Comments;
                }
                else if (s6xObject.Function != null)
                {
                    searchValues[5] = s6xObject.Function.Label;
                    searchValues[6] = s6xObject.Function.ShortLabel;
                    searchValues[7] = s6xObject.Function.Comments;
                }
                else if (s6xObject.Table != null)
                {
                    searchValues[5] = s6xObject.Table.Label;
                    searchValues[6] = s6xObject.Table.ShortLabel;
                    searchValues[7] = s6xObject.Table.Comments;
                }
                else if (s6xObject.Structure != null)
                {
                    searchValues[5] = s6xObject.Structure.Label;
                    searchValues[6] = s6xObject.Structure.ShortLabel;
                    searchValues[7] = s6xObject.Structure.Comments;
                }
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                // BitFlags AddOn
                if (!isResult && s6xObject.Scalar != null)
                {
                    if (s6xObject.Scalar.BitFlagsNum > 0)
                    {
                        foreach (S6xBitFlag s6xBF in s6xObject.Scalar.BitFlags)
                        {
                            searchValues = new string[] { s6xBF.ShortLabel, s6xBF.Label, s6xBF.SetValue, s6xBF.NotSetValue, s6xBF.Comments };
                            foreach (string searchValue in searchValues)
                            {
                                string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                                if (cSearchValue.Contains(searchText))
                                {
                                    isResult = true;
                                    break;
                                }
                            }
                            if (isResult)
                            {
                                break;
                            }
                        }
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.ELEMSSIGNATURES), s6xObject.UniqueKey });
                }
            }
            foreach (S6xStructure s6xObject in sadS6x.slStructures.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.ShortLabel, s6xObject.Comments, s6xObject.Information };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.STRUCTURES), s6xObject.UniqueAddress });
                }
            }
            foreach (S6xTable s6xObject in sadS6x.slTables.Values)
            {
                bool     isResult     = false;
                string[] searchValues = new string[] { s6xObject.Address, s6xObject.Label, s6xObject.ShortLabel, s6xObject.Comments, s6xObject.Information };
                foreach (string searchValue in searchValues)
                {
                    string cSearchValue = (searchValue == null) ? string.Empty : searchValue.ToLower();
                    if (cSearchValue.Contains(searchText))
                    {
                        isResult = true;
                        break;
                    }
                }
                if (isResult)
                {
                    results.Add(new string[] { S6xNav.getHeaderCategName(S6xNavHeaderCategory.TABLES), s6xObject.UniqueAddress });
                }
            }

            return(results);
        }
示例#9
0
        private void calibChart_MouseClick(object sender, MouseEventArgs e)
        {
            Chart  cChart = (Chart)sender;
            Axis   xAxis  = cChart.ChartAreas[0].AxisX;
            double pPos   = (int)xAxis.PixelPositionToValue(e.Location.X);

            foreach (CustomLabel cLabel in xAxis.CustomLabels)
            {
                if (pPos >= cLabel.FromPosition && pPos <= cLabel.ToPosition)
                {
                    if (cLabel.Tag == null)
                    {
                        return;
                    }
                    if (cLabel.Tag.GetType() == typeof(S6xTable))
                    {
                        try
                        {
                            S6xTable s6xTable = (S6xTable)cLabel.Tag;
                            mainToolTip.SetToolTip((Control)sender, s6xTable.Label + "\r\n" + s6xTable.UniqueAddressHex + "\r\n" + s6xTable.ShortLabel + "\r\n\r\n" + s6xTable.Comments);
                            if (cChart == calibCurrentChart)
                            {
                                S6xNavInfo niMFHeaderCateg = new S6xNavInfo(elemsTreeView.Nodes[S6xNav.getHeaderCategName(S6xNavHeaderCategory.TABLES)]);
                                if (niMFHeaderCateg.isValid)
                                {
                                    TreeNode tnMFNode = niMFHeaderCateg.FindElement(s6xTable.UniqueAddress);
                                    if (tnMFNode != null)
                                    {
                                        elemsTreeView.SelectedNode = tnMFNode;
                                    }
                                    tnMFNode = null;
                                }
                                niMFHeaderCateg = null;
                            }
                        }
                        catch { }
                    }
                    else if (cLabel.Tag.GetType() == typeof(S6xFunction))
                    {
                        try
                        {
                            S6xFunction s6xFunction = (S6xFunction)cLabel.Tag;
                            mainToolTip.SetToolTip((Control)sender, s6xFunction.Label + "\r\n" + s6xFunction.UniqueAddressHex + "\r\n" + s6xFunction.ShortLabel + "\r\n\r\n" + s6xFunction.Comments);
                            if (cChart == calibCurrentChart)
                            {
                                S6xNavInfo niMFHeaderCateg = new S6xNavInfo(elemsTreeView.Nodes[S6xNav.getHeaderCategName(S6xNavHeaderCategory.FUNCTIONS)]);
                                if (niMFHeaderCateg.isValid)
                                {
                                    TreeNode tnMFNode = niMFHeaderCateg.FindElement(s6xFunction.UniqueAddress);
                                    if (tnMFNode != null)
                                    {
                                        elemsTreeView.SelectedNode = tnMFNode;
                                    }
                                    tnMFNode = null;
                                }
                                niMFHeaderCateg = null;
                            }
                        }
                        catch { }
                    }
                    return;
                }
            }
        }