public MultiStringSlice(ICmObject obj, int flid, int ws, int wsOptional, bool forceIncludeEnglish, bool editable, bool spellCheck) { var view = new LabeledMultiStringView(obj.Hvo, flid, ws, wsOptional, forceIncludeEnglish, editable, spellCheck); Control = view; #if _DEBUG Control.CheckForIllegalCrossThreadCalls = true; #endif InternalInitialize(); Reuse(obj, flid); view.InnerView.Display += view_Display; view.InnerView.RightMouseClickedEvent += HandleRightMouseClickedEvent; view.InnerView.LostFocus += view_LostFocus; }
public void InnerViewRefreshesWhenRefreshIsPending() { ILexEntry entry = null; int flid = 5035001; // MoForm flid NonUndoableUnitOfWorkHelper.Do(Cache.ActionHandlerAccessor, () => { entry = Cache.ServiceLocator.GetInstance <ILexEntryFactory>().Create(); IMoStemAllomorph morph = Cache.ServiceLocator.GetInstance <IMoStemAllomorphFactory>().Create(); entry.LexemeFormOA = morph; }); Form dummyForm = new Form(); LabeledMultiStringView view = new LabeledMultiStringView(entry.LexemeFormOA.Hvo, flid, WritingSystemServices.kwsVern, false, true); dummyForm.Controls.Add(view); InnerLabeledMultiStringView innerView = view.InnerView; view.FinishInit(); innerView.Cache = Cache; // Access the Handle of the innerView to construct the RootBox. var handle = innerView.Handle; Assert.IsFalse(innerView.Visible); Assert.IsFalse(innerView.RefreshPending); view.WritingSystemsToDisplay = WritingSystemServices.GetWritingSystemList(Cache, WritingSystemServices.kwsVern, false); view.RefreshDisplay(); // The flag gets set because the view is not yet visible, so the display cannot refresh. Assert.IsTrue(innerView.RefreshPending); // Trigger the display to refresh by making the form visible. dummyForm.Visible = true; Assert.IsFalse(innerView.RefreshPending); view.Dispose(); NonUndoableUnitOfWorkHelper.Do(Cache.ActionHandlerAccessor, () => entry.Delete()); }
protected override void Dispose(bool disposing) { base.Dispose(disposing); if (disposing) { // Dispose managed resources here. } // Dispose unmanaged resources here, whether disposing is true or false. m_view = null; }
public LabeledMultiStringViewVc(int flid, ILgWritingSystem[] rgws, int wsUser, bool editable, LabeledMultiStringView view) : base(flid, rgws, wsUser, editable, view.WritingSystemFactory.GetWsFromStr("en")) { m_view = view; Debug.Assert(m_view != null); }