entity.MetaFuncs.MEStringsSelector.MEStringsSelector C# (CSharp) Method

MEStringsSelector() public method

Initializes a new instance of the MEStringsSelector class.
public MEStringsSelector ( Map map, object sender ) : System
map Map
sender object
return System
        public MEStringsSelector(Map map, object sender)
        {
            InitializeComponent();

            if (encodes == null)
            {
                // load any listed unicode codes
                try
                {
                    encodes = loadUnicodes();
                }
                catch
                {
                    encodes = new List<Encode>();
                }
            }

            // Select ALL
            this.cbSelectStringIDs.SelectedIndex = 0;
            this.Owner = (Form)sender;

            string[] names = map.Strings.Name;
            // KeyPreview = true;
            for (int i = 0; i < names.Length; i++)
            {
                //dgvStringIDs.Rows.Add(new object[] { names[i], i, -1 });
                StringID SID = new StringID(names[i], i);
                // Create 2 duplicate lists
                stringIDs.Add(SID);
                stringIDsNoUnicode.Add(SID);
            }

            UnicodeTableReader.UnicodeTable ut = map.Unicode.ut[0];
            if (ut.SIDs == null)
                ut.Read();
            for (int i = 0; i < ut.US.Length; i++)
            {
                Unicode uni = new Unicode(i, ut.US[i].uString, ut.US[i].size, ut.US[i].offset, stringIDs[ut.SIDs[i].id]);
                unicodes.Add(uni);
                StringID SID = stringIDs[ut.SIDs[i].id];
                SID.unicodes.Add(uni);
                if (stringIDsNoUnicode.Contains(SID))
                {
                    stringIDsNoUnicode.Remove(SID); // Switch it from NO UNICODE list
                    stringIDsUnicode.Add(SID);      // ...to UNICODE list
                }
            }

            lbStringIDs.DataSource = stringIDs;
            lbUnicodes.DataSource = unicodes;

            // Set default sort method and apply sort to lists
            cbSIDSort.SelectedIndex = 0;
            cbUnicodeSort.SelectedIndex = 0;

            List<string> ss = new List<string>();
            for (int i = 0; i < unicodes[1].stringID.unicodes.Count; i++)
            {
                string s = unicodes[0].stringID.unicodes[i].ToString();
                byte[] tempbytes = System.Text.Encoding.Unicode.GetBytes(s);
                System.Text.Encoding decode = System.Text.Encoding.ASCII;
                ss.Add(decode.GetString(tempbytes));
            }

            setlbStringsIDDataSource();
        }