/// ------------------------------------------------------------------------------------ /// <summary> /// Executes in two distinct scenarios. /// 1. If disposing is true, the method has been called directly /// or indirectly by a user's code via the Dispose method. /// Both managed and unmanaged resources can be disposed. /// 2. If disposing is false, the method has been called by the /// runtime from inside the finalizer and you should not reference (access) /// other managed objects, as they already have been garbage collected. /// Only unmanaged resources can be disposed. /// </summary> /// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> /// <remarks> /// If any exceptions are thrown, that is fine. /// If the method is being done in a finalizer, it will be ignored. /// If it is thrown by client code calling Dispose, /// it needs to be handled by fixing the bug. /// If subclasses override this method, they should call the base implementation. /// </remarks> /// ------------------------------------------------------------------------------------ protected override void Dispose(bool disposing) { System.Diagnostics.Debug.WriteLineIf(!disposing, "****** Missing Dispose() call for " + GetType() + ". ****** "); if (disposing) { Application.RemoveMessageFilter(this); if (m_list != null) { m_list.Clear(); } if (m_dataGridView != null && !m_dataGridView.Disposing) { m_dataGridView.Dispose(); } if (m_zoomFactor != null) { m_zoomFactor.Dispose(); } } m_tsStrComparer = null; m_dataGridView = null; m_list = null; m_zoomFactor = null; base.Dispose(disposing); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Executes in two distinct scenarios. /// 1. If disposing is true, the method has been called directly /// or indirectly by a user's code via the Dispose method. /// Both managed and unmanaged resources can be disposed. /// 2. If disposing is false, the method has been called by the /// runtime from inside the finalizer and you should not reference (access) /// other managed objects, as they already have been garbage collected. /// Only unmanaged resources can be disposed. /// </summary> /// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> /// <remarks> /// If any exceptions are thrown, that is fine. /// If the method is being done in a finalizer, it will be ignored. /// If it is thrown by client code calling Dispose, /// it needs to be handled by fixing the bug. /// If subclasses override this method, they should call the base implementation. /// </remarks> /// ------------------------------------------------------------------------------------ protected override void Dispose(bool disposing) { //Debug.WriteLineIf(!disposing, "****************** " + GetType().Name + " 'disposing' is false. ******************"); if (disposing) { Application.RemoveMessageFilter(this); if (m_list != null) { m_list.Clear(); } if (m_tsStrComparer != null) { m_tsStrComparer.Dispose(); } if (m_dataGridView != null && !m_dataGridView.Disposing) { m_dataGridView.Dispose(); } } m_tsStrComparer = null; m_dataGridView = null; m_list = null; base.Dispose(disposing); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Performs application-defined tasks associated with freeing, releasing, or /// resetting unmanaged resources. /// </summary> /// ------------------------------------------------------------------------------------ public void Dispose() { if (m_icuComparer != null) { m_icuComparer.Dispose(); m_icuComparer = null; } }
/// ------------------------------------------------------------------------------------ /// <summary> /// Sorts the lists. /// </summary> /// ------------------------------------------------------------------------------------ public void InitSortComparer(IWritingSystem ws) { if (m_comparer != null && m_comparer.WritingSystem != ws) { m_comparer = null; } if (m_comparer == null && ws != null) { m_comparer = new TsStringComparer(ws); } }
/// ------------------------------------------------------------------------------------ /// <summary> /// Sorts the lists. /// </summary> /// ------------------------------------------------------------------------------------ private void InitSortComparer(CoreWritingSystemDefinition ws) { if (m_comparer != null && m_comparer.WritingSystem != ws) { m_comparer = null; } if (m_comparer == null && ws != null) { m_comparer = new TsStringComparer(ws); } }
/// ------------------------------------------------------------------------------------ /// <summary> /// Sorts the lists. /// </summary> /// ------------------------------------------------------------------------------------ public void InitSortComparer(string locale) { if (m_icuComparer != null && m_icuComparer.IcuLocale != locale) { m_icuComparer.Dispose(); m_icuComparer = null; } if (m_icuComparer == null && !string.IsNullOrEmpty(locale)) { m_icuComparer = new TsStringComparer(locale); } }
/// ------------------------------------------------------------------------------------ /// <summary> /// /// </summary> /// ------------------------------------------------------------------------------------ public CheckRenderingControl(FdoCache cache, FwMainWnd mainWnd) { DoubleBuffered = true; m_cache = cache; m_mainWnd = mainWnd; if (m_mainWnd != null) m_mainWnd.ZoomPercentageChanged += HandleZoomPercentageChanged; // Setup a new TsString sort comparer. if (m_cache == null) m_tsStrComparer = new TsStringComparer(); else { m_cache.MainCacheAccessor.AddNotification(this); IWritingSystem ws = m_cache.ServiceLocator.WritingSystems.DefaultVernacularWritingSystem; m_tsStrComparer = new TsStringComparer(ws); } }
/// ------------------------------------------------------------------------------------ /// <summary> /// /// </summary> /// ------------------------------------------------------------------------------------ public CheckRenderingControl(FdoCache cache, FwMainWnd mainWnd) { DoubleBuffered = true; m_cache = cache; m_mainWnd = mainWnd; if (m_mainWnd != null) { m_mainWnd.ZoomPercentageChanged += HandleZoomPercentageChanged; } // Setup a new TsString sort comparer. if (m_cache == null) { m_tsStrComparer = new TsStringComparer(); } else { m_cache.MainCacheAccessor.AddNotification(this); IWritingSystem ws = m_cache.ServiceLocator.WritingSystems.DefaultVernacularWritingSystem; m_tsStrComparer = new TsStringComparer(ws); } }
/// ------------------------------------------------------------------------------------ /// <summary> /// /// </summary> /// ------------------------------------------------------------------------------------ public CheckRenderingControl(FdoCache cache, FwMainWnd mainWnd) { DoubleBuffered = true; m_cache = cache; m_mainWnd = mainWnd; if (m_mainWnd != null) { m_mainWnd.ZoomPercentageChanged += HandleZoomPercentageChanged; } // Setup a new TsString sort comparer. if (m_cache == null) { m_tsStrComparer = new TsStringComparer(); } else { m_cache.MainCacheAccessor.AddNotification(this); string icuLocale = m_cache.LanguageWritingSystemFactoryAccessor.GetStrFromWs(m_cache.DefaultVernWs); m_tsStrComparer = new TsStringComparer(icuLocale); } }
public void FixtureSetup() { m_wsManager = new PalasoWritingSystemManager(); m_comparer = new TsStringComparer(m_wsManager.Create("en")); m_tssFact = TsStrFactoryClass.Create(); }
public void CompareTwoStringsWithoutIcu() { var comparer = new TsStringComparer(); ITsString tss1 = m_tssFact.MakeString("bla", 1); ITsString tss2 = m_tssFact.MakeString("zzz", 1); Assert.That(comparer.Compare(tss1, tss2), Is.LessThan(0)); Assert.That(comparer.Compare(tss2, tss1), Is.GreaterThan(0)); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Executes in two distinct scenarios. /// 1. If disposing is true, the method has been called directly /// or indirectly by a user's code via the Dispose method. /// Both managed and unmanaged resources can be disposed. /// 2. If disposing is false, the method has been called by the /// runtime from inside the finalizer and you should not reference (access) /// other managed objects, as they already have been garbage collected. /// Only unmanaged resources can be disposed. /// </summary> /// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> /// <remarks> /// If any exceptions are thrown, that is fine. /// If the method is being done in a finalizer, it will be ignored. /// If it is thrown by client code calling Dispose, /// it needs to be handled by fixing the bug. /// If subclasses override this method, they should call the base implementation. /// </remarks> /// ------------------------------------------------------------------------------------ protected override void Dispose(bool disposing) { System.Diagnostics.Debug.WriteLineIf(!disposing, "****** Missing Dispose() call for " + GetType() + ". ****** "); if (disposing) { Application.RemoveMessageFilter(this); if (m_list != null) m_list.Clear(); if (m_dataGridView != null && !m_dataGridView.Disposing) m_dataGridView.Dispose(); if (m_zoomFactor != null) m_zoomFactor.Dispose(); } m_tsStrComparer = null; m_dataGridView = null; m_list = null; m_zoomFactor = null; base.Dispose(disposing); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// ------------------------------------------------------------------------------------ protected override void Dispose(bool disposing) { Debug.WriteLineIf(!disposing, "********** Missing Dispose() call for " + GetType().Name + ". **********"); if (disposing) { if (m_openFileDialog != null) m_openFileDialog.Dispose(); if (m_fDisposeWsManager) { var disposable = m_wsManager as IDisposable; if (disposable != null) disposable.Dispose(); m_wsManager = null; } if (m_fntForSpecialChar != null) { m_fntForSpecialChar.Dispose(); m_fntForSpecialChar = null; } if (m_validCharsGridMngr != null) m_validCharsGridMngr.Dispose(); if (m_chkBoxColHdrHandler != null) m_chkBoxColHdrHandler.Dispose(); if (m_chrPropEng != null && Marshal.IsComObject(m_chrPropEng)) { Marshal.ReleaseComObject(m_chrPropEng); m_chrPropEng = null; } if (m_openFileDialog != null) m_openFileDialog.Dispose(); if (components != null) components.Dispose(); } m_openFileDialog = null; m_validCharsGridMngr = null; m_chkBoxColHdrHandler = null; m_inventoryCharComparer = null; m_openFileDialog = null; base.Dispose(disposing); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Compares character inventory rows on the character field. /// </summary> /// ------------------------------------------------------------------------------------ private int InventoryCharComparer(CharacterInventoryRow x, CharacterInventoryRow y) { if (x == null && y == null) return 0; if (x == null) return -1; if (y == null) return 1; if (m_inventoryCharComparer == null) m_inventoryCharComparer = new TsStringComparer(m_ws); return (s_inventorySortOrder == SortOrder.Ascending ? m_inventoryCharComparer.Compare(x.Character, y.Character) : m_inventoryCharComparer.Compare(y.Character, x.Character)); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Sorts the lists. /// </summary> /// ------------------------------------------------------------------------------------ public void InitSortComparer(IWritingSystem ws) { if (m_comparer != null && m_comparer.WritingSystem != ws) m_comparer = null; if (m_comparer == null && ws != null) m_comparer = new TsStringComparer(ws); }