/// <summary> /// Creates a new Constituent Chart object on a language project with a particular template /// and based on a particular text. /// </summary> /// <param name="data"></param> /// <param name="text"></param> /// <param name="template"></param> /// <returns></returns> public IDsConstChart Create(IDsDiscourseData data, IStText text, ICmPossibility template) { if (data == null) throw new ArgumentNullException("data"); if (text == null) throw new ArgumentNullException("text"); if (template == null) throw new ArgumentNullException("template"); var newby = Create(); data.ChartsOC.Add(newby); newby.TemplateRA = template; newby.BasedOnRA = text; return newby; }
/// ------------------------------------------------------------------------------------ /// <summary> /// Adds an empty template to the DiscourseData object. /// </summary> /// <param name="name">Template name. (default)</param> /// <param name="discData"></param> /// <returns></returns> /// ------------------------------------------------------------------------------------ public ICmPossibility AddEmptyTemplateToDiscData(string name, IDsDiscourseData discData) { CheckDisposed(); if (discData == null) discData = m_lp.DiscourseDataOA = new DsDiscourseData(); // Add an empty PossibilityList discData.ConstChartTemplOA = new CmPossibilityList(); // Add an empty template object ICmPossibility template = new CmPossibility(Cache, m_cacheBase.NewHvo(CmPossibility.kClassId)); // Add the template to the DiscourseData object m_cacheBase.AppendToFdoVector(discData.ConstChartTemplOAHvo, (int)DsDiscourseData.DsDiscourseDataTags.kflidConstChartTempl, template.Hvo); // Setup the new template m_cacheBase.SetBasicProps(template.Hvo, discData.ConstChartTemplOAHvo, (int)CmPossibility.kClassId, (int)DsDiscourseData.DsDiscourseDataTags.kflidConstChartTempl, 1); Cache.SetMultiStringAlt(template.Hvo, (int)CmPossibility.CmPossibilityTags.kflidName, Cache.LanguageEncodings.GetWsFromIcuLocale("en"), Cache.MakeAnalysisTss(name)); return template; // This template has no columns, so far!! }