IGraphicsCarbon::~IGraphicsCarbon() { if (mTextEntryView) { RemoveEventHandler(mTextEntryHandler); mTextEntryHandler = 0; #if USE_MLTE TXNFocus(mTextEntryView, false); TXNClear(mTextEntryView); TXNDeleteObject(mTextEntryView); #else HIViewRemoveFromSuperview(mTextEntryView); #endif mTextEntryView = 0; mEdControl = 0; mEdParam = 0; } RemoveEventLoopTimer(mTimer); RemoveEventHandler(mControlHandler); RemoveEventHandler(mWindowHandler); mTimer = 0; mView = 0; // DisposeRgn(mRgn); }
void MacWebWidget::hideEvent ( QHideEvent * event ) { QWidget::hideEvent(event); if ( m_hiWebView && m_container) { HIViewRemoveFromSuperview( m_hiWebView ); HIViewSetVisible( m_hiWebView, false ); } }
void IGraphicsCarbon::EndUserInput(bool commit) { RemoveEventHandler(mTextEntryHandler); mTextEntryHandler = 0; if (commit) { CFStringRef str; if (GetControlData(mTextEntryView, kControlEditTextPart, kControlEditTextCFStringTag, sizeof(str), &str, NULL) == noErr) { char txt[MAX_PARAM_LEN]; CFStringGetCString(str, txt, MAX_PARAM_LEN, kCFStringEncodingUTF8); CFRelease(str); if (mEdParam) mGraphicsMac->SetFromStringAfterPrompt(mEdControl, mEdParam, txt); else mEdControl->TextFromTextEntry(txt); } } HIViewSetVisible(mTextEntryView, false); HIViewRemoveFromSuperview(mTextEntryView); if (mIsComposited) { //IRECT* pR = mEdControl->GetRECT(); //HIViewSetNeedsDisplayInRect(mView, &CGRectMake(pR->L, pR->T, pR->W(), pR->H()), true); HIViewSetNeedsDisplay(mView, true); } else { if (mEdControl) { mEdControl->SetDirty(false); mEdControl->Redraw(); } } SetThemeCursor(kThemeArrowCursor); SetUserFocusWindow(kUserFocusAuto); mTextEntryView = 0; mEdControl = 0; mEdParam = 0; }