void CATextField::insertText(const char * text, int len) { CC_RETURN_IF(len <= 0); CC_RETURN_IF(text == 0); CC_RETURN_IF(m_pDelegate && m_pDelegate->onTextFieldInsertText(this, text, len, m_iCurPos)); CC_RETURN_IF(m_pDelegate && m_pDelegate->onTextFieldInsertText(this, text, len)); if (!strcmp(text, "\n")) { getKeyBoradReturnCallBack(); return; } execCurSelCharRange(); analyzeString(text, len); adjustCursorMove(true); }
void CATextField::insertText(const char * text, int len) { CC_RETURN_IF(len <= 0); CC_RETURN_IF(text == 0); if (!strcmp(text, "\n")) { getKeyBoradReturnCallBack(); return; } #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) CC_RETURN_IF(m_nInputType == KEY_BOARD_INPUT_PASSWORD && len >= 2); #endif execCurSelCharRange(); analyzeString(text, len); CC_RETURN_IF(m_pDelegate && m_pDelegate->onTextFieldInsertText(this, m_sText.c_str(), (int)m_sText.length())); adjustCursorMoveForward(); }
void insertText(const char * text, int len) { if (!strcmp(text, "\n")) { getKeyBoradReturnCallBack(); CATextFieldDelegate* pDelegate = m_pTextFieldX->getDelegate(); if (m_pTextFieldX->isAllowkeyBoardHide()) { m_pTextFieldX->resignFirstResponder(); EndMouseMoveArr(); } if (pDelegate) { pDelegate->textFieldShouldReturn(m_pTextFieldX); } return; } if (m_sText.size() + len > m_pTextFieldX->getMaxLenght()) return; std::string cszAddText; cszAddText.append(text, len); if (m_curSelCharRange.first != m_curSelCharRange.second) { if (!textValueChanged(m_curSelCharRange.first, m_curSelCharRange.second - m_curSelCharRange.first, cszAddText)) return; } else { if (!textValueChanged(m_iCurPos, 0, cszAddText)) return; } execCurSelCharRange(); analyzeString(text, len); adjustCursorMove(); }
void CATextField::insertText(const char * text, int len) { if (len>3) { analyzeString(text,len); return; } if (m_nInputType == KEY_BOARD_INPUT_PASSWORD) { if (len>=2) return; if (spaceHolderIsOn) { spaceHolderIsOn = false; m_sText=""; } m_sText = m_sPassWord; m_sText.append(text); std::string password=""; for (int i=0; i<m_sText.length(); i++) { password.append("*"); } m_sPassWord = m_sText; m_sText = password; this->updateImage(); CCRect r = m_rLabelRect; r.origin.x = 0; r.origin.x = MAX(labelWidth-m_rLabelRect.size.width, 0); r.origin.x = MIN(0, r.origin.x); r.size.width = MIN(m_rLabelRect.size.width, labelWidth); this->setImageRect(r); float offsetX = MIN(labelWidth, m_rLabelRect.size.width); m_pMark->setCenterOrigin(CCPoint(offsetX+labelOrginX,this->getBounds().size.height/2)); return; } if (!strcmp(text, "\n")) { return; } std::string inputstr; if (spaceHolderIsOn) { spaceHolderIsOn = false; m_sText = ""; } if(isEditing) { isEditing =false; } willBg->setVisible(false); if (len > 0) { if (m_pDelegate && m_pDelegate->onTextFieldInsertText(this,text, len)) { // delegate doesn't want to insert text return; } m_sLeft_string.append(text); float left_width = getStringLength(m_sLeft_string); TextAttribute t; t.charlength = left_width - m_fString_left_length; t.charsize = strlen(text); m_vByteLengthArr.insert(m_vByteLengthArr.begin()+getStringCharCount(m_sLeft_string), t); char str[512]=""; sprintf(str, "%s%s",m_sLeft_string.c_str(),m_sRight_string.c_str()); m_sText = str; this->updateImage(); m_fString_left_length = m_rLabelRect.size.width; //left_width; m_fString_right_length = m_rLabelRect.size.width - m_fString_left_length; if (m_fString_left_length + m_fString_left_offX > labelWidth) { m_fString_left_offX = labelWidth - m_fString_left_length; } CCRect rect = CCRectZero; rect.size = this->getBounds().size; CCRect r = m_rLabelRect; r.origin.x = -m_fString_left_offX; r.size.width = getStringViewLength(); this->setImageRect(r); } m_pMark->setCenterOrigin(CCPoint(getCursorX()+labelOrginX,this->getBounds().size.height/2)); }