public MarkerPresenter(FdoCache cache, string mapfile, string datafile, string fwFile, int numColumns) { m_cache = cache; m_mapFile = mapfile; m_dataFile = datafile; m_fwFile = fwFile; m_numColumns = numColumns; m_SortOrder = new ArrayList(); for (int i=0; i<numColumns; i++) { m_SortOrder.Add(true); } m_SortOrder[1] = false; // handle first click in column one bool goodMap = InitFromMapFile(m_mapFile); m_DataInfo = new Sfm2Xml.SfmFileReader(m_dataFile); // read in the Lex Import Fields string sRootDir = SIL.FieldWorks.Common.Utils.DirectoryFinder.FWCodeDirectory; if (!sRootDir.EndsWith("\\")) sRootDir += "\\"; string sImportFileds = sRootDir + "Language Explorer\\Import\\ImportFields.xml"; m_LexFields = new LexImportFields(); m_LexFields.ReadLexImportFields(sImportFileds); // get a list of the languages that are defined/editied in the GUI m_htUILangInfo = LexImportWizard.Wizard().GetUILanguages(); // this will now fill the m_htMarkerData hashtable with contentmapping objects MergeData(); }
public void UpdateLexFieldsWithCustomFields(Sfm2Xml.ILexImportFields customFields) { m_LexFields = customFields as Sfm2Xml.LexImportFields; string sRootDir = m_rootDir; // SIL.Utils.FwDirectoryFinder.CodeDirectory; if (!sRootDir.EndsWith(Path.DirectorySeparatorChar.ToString())) sRootDir += Path.DirectorySeparatorChar; string sImportFields = sRootDir + String.Format("Language Explorer{0}Import{0}ImportFields.xml", Path.DirectorySeparatorChar); m_LexFields.ReadLexImportFields(sImportFields); }
public void UpdateLexFieldsWithCustomFields(Sfm2Xml.ILexImportFields customFields) { m_LexFields = customFields as Sfm2Xml.LexImportFields; string sRootDir = m_rootDir; // SIL.FieldWorks.Common.Utils.DirectoryFinder.FWCodeDirectory; if (!sRootDir.EndsWith("\\")) sRootDir += "\\"; string sImportFields = sRootDir + "Language Explorer\\Import\\ImportFields.xml"; m_LexFields.ReadLexImportFields(sImportFields); }
public Sfm2Xml.ILexImportFields ReadCustomFieldsFromDB(out bool changed) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); List<uint> crcs = new List<uint>(); Sfm2Xml.ILexImportFields customFields = new Sfm2Xml.LexImportFields(); // FieldDescription.ClearDataAbout(m_cache); foreach (FieldDescription fd in FieldDescription.FieldDescriptors(m_cache)) { if (fd.IsCustomField && fd.Class > 4999 && fd.Class < 6000) { Sfm2Xml.LexImportCustomField lif = FieldDescriptionToLexImportField(fd); System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); string helpString = GetCustomFieldHelp(fd); doc.LoadXml(helpString); System.Xml.XmlNode root = doc.DocumentElement; lif.ReadNode(root); sb.Append(lif.CRC); // for cumulative CRC (over the whole list) crcs.Add(lif.CRC); customFields.AddCustomField(fd.Class, lif); } } if (crcs.Count == m_lastCrcs.Count) { int ipos = 0; while (ipos < crcs.Count && crcs[ipos] == m_lastCrcs[ipos]) { ipos++; } if (ipos == crcs.Count) changed = false; else { changed = true; m_lastCrcs = crcs; } } else { changed = true; m_lastCrcs = crcs; } return customFields; }