Пример #1
0
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);
}
Пример #2
0
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();
}
Пример #3
0
	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();
	}
Пример #4
0
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));

}