void CCtrlEdit::doKeyboardHideAction() { if (!isVisible()) { return; } CCPoint destPos = getPosition(); if (fabs(m_infoIMEKeyboardNotification.end.size.height) < (destPos.y - m_nHeight)) { return; } DLG_HANDLE hHandleDlg = GetTopParent(); CCMyWndObject* pWndObject = g_objUIMgr.GetWndObj(hHandleDlg); if (NULL == pWndObject) { return; } CCNode *pHandleNode = dynamic_cast<CCNode*>(pWndObject); if (NULL == pHandleNode) { return; } CCMoveTo* moveTo = CCMoveTo::create(m_infoIMEKeyboardNotification.duration, m_RecordPos); pHandleNode->runAction(moveTo); }
void MemCheckOutputView::OnSuppressError(wxCommandEvent& event) { wxDataViewEvent* menuEvent = dynamic_cast<wxDataViewEvent*>(event.GetEventUserData()); if(!menuEvent) return; wxDataViewItem clickedItem = GetTopParent(menuEvent->GetItem()); SuppressErrors(SUPPRESS_CLICKED, &clickedItem); }
void MemCheckOutputView::OnErrorToClip(wxCommandEvent& event) { wxDataViewEvent* menuEvent = dynamic_cast<wxDataViewEvent*>(event.GetEventUserData()); if(!menuEvent) return; MemCheckErrorReferrer* errorRef = dynamic_cast<MemCheckErrorReferrer*>( m_dataViewCtrlErrorsModel->GetClientObject(GetTopParent(menuEvent->GetItem()))); if(!errorRef) return; if(wxTheClipboard->Open()) { wxTheClipboard->SetData(new wxTextDataObject(errorRef->Get().toString())); wxTheClipboard->Close(); } }
CComponent* GetTopParent(CComponent* pComp) { if( pComp ) { if( pComp->GetParent() ) { return GetTopParent( pComp->GetParent() ); } else { return pComp; } } return xst_null; }
/** * @brief This callback is trigered when user click on checkbox - wants un/mark error. * @param event just wxDataViewEvent */ void MemCheckOutputView::OnValueChanged(wxDataViewEvent& event) { // CL_DEBUG1(PLUGIN_PREFIX("MemCheckOutputView::OnValueChanged()")); int col = GetColumnByName(_("Suppress")); if(col == wxNOT_FOUND) { return; } if(m_onValueChangedLocked || event.GetColumn() != col) return; m_onValueChangedLocked = true; wxVariant variant; m_dataViewCtrlErrorsModel->GetValue(variant, event.GetItem(), col); MarkTree(GetTopParent(event.GetItem()), variant.GetBool()); variant.GetBool() ? ++m_markedErrorsCount : --m_markedErrorsCount; m_onValueChangedLocked = false; }
void CCtrlEdit::doKeyboardShowAction() { if (!isVisible()) { return; } DLG_HANDLE hHandleDlg = GetTopParent(); CCMyWndObject* pWndObject = g_objUIMgr.GetWndObj(hHandleDlg); if (NULL == pWndObject) { return; } CCNode *pHandleNode = dynamic_cast<CCNode*>(pWndObject); if (NULL == pHandleNode) { return; } CCPoint destPos = getPosition(); CCRect bgRect(destPos.x, destPos.y, m_nWidth, m_nHeight); if (bgRect.origin.y - m_nHeight < m_infoIMEKeyboardNotification.end.origin.y + m_infoIMEKeyboardNotification.end.size.height) { m_RecordPos.y = pHandleNode->getPositionY(); m_RecordPos.x = 0; CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); destPos.x = 0; destPos.y = m_infoIMEKeyboardNotification.end.size.height+ visibleSize.height; CCMoveTo* moveTo = CCMoveTo::create(m_infoIMEKeyboardNotification.duration, destPos); pHandleNode->runAction(moveTo); } }