亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qlineedit.cpp

?? qtopia-phone-2.2.0下公共的控件實現源代碼。
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
    d->preeditCPos = -1;    d->preeditSelLen = 0;    if ( isReadOnly() )	return;    //#########  Validation doesn't work!!!!    //######### textChanged() probably doesn't work!    //######### alignment doesn't work    validateAndSet( test, newcp , newcp, newcp ); //### not a perfect fit, uses tbuf...    update(); // since if doesn't have focus... further on won't repaint.. strange but true.    d->pmDirty = TRUE; //###    blinkOn();    emit textChanged( tbuf );        e->accept();}bool QLineEdit::composeMode() const{    return d->preeditStart >= 0;}#endif //QT_NO_QWS_IM/*! \reimp*/void QLineEdit::mousePressEvent( QMouseEvent *e ){#if defined( _WS_QWS_ ) && !defined( QT_NO_QWS_IM )        if ( composeMode() ) {	int clickPos = xPosToCursorPos( e->pos().x() ) - d->preeditStart;	if ( clickPos >= 0 && clickPos <= d->preeditLength ) 	    QPaintDevice::qwsDisplay()->sendIMMouseEvent( clickPos, TRUE ); 		return;    }#endif#ifdef QT_KEYPAD_MODE    if( qt_modalEditingEnabled ) {	if ( e->button() == LeftButton && !isModalEditing() )	    setModalEditing( TRUE );    }#endif    d->dnd_startpos = e->pos();    d->dnd_primed = FALSE;#ifndef QT_NO_POPUPMENU    if ( e->button() == RightButton ) {	QGuardedPtr<QPopupMenu> popup = new QPopupMenu( this );	int id[ 7 ];	id[ IdUndo ] = popup->insertItem( tr( "Undo" ) );	id[ IdRedo ] = popup->insertItem( tr( "Redo" ) );	popup->insertSeparator();#ifndef QT_NO_CLIPBOARD	id[ IdCut ] = popup->insertItem( tr( "Cut" ) );	id[ IdCopy ] = popup->insertItem( tr( "Copy" ) );	id[ IdPaste ] = popup->insertItem( tr( "Paste" ) );#endif	id[ IdClear ] = popup->insertItem( tr( "Clear" ) );	popup->insertSeparator();	id[ IdSelectAll ] = popup->insertItem( tr( "Select All" ) );	popup->setItemEnabled( id[ IdUndo ],				  !this->d->readonly && !this->d->undoList.isEmpty() );	popup->setItemEnabled( id[ IdRedo ],				  !this->d->readonly && !this->d->redoList.isEmpty() );#ifndef QT_NO_CLIPBOARD	popup->setItemEnabled( id[ IdCut ],				  !this->d->readonly && !this->d->readonly && hasMarkedText() );	popup->setItemEnabled( id[ IdCopy ], hasMarkedText() );	popup->setItemEnabled( id[ IdPaste ],				  !this->d->readonly				  && (bool)QApplication::clipboard()->text().length() );#endif	popup->setItemEnabled( id[ IdClear ],				  !this->d->readonly && (bool)text().length() );	int allSelected = minMark() == 0 && maxMark() == (int)text().length();	popup->setItemEnabled( id[ IdSelectAll ],				  (bool)text().length() && !allSelected );	int r = popup->exec( e->globalPos() );	delete (QPopupMenu *) popup;	if ( r == id[ IdUndo ] )	    undoInternal();	else if ( r == id[ IdRedo ] )	    redoInternal();#ifndef QT_NO_CLIPBOARD	else if ( r == id[ IdCut ] )	    cut();	else if ( r == id[ IdCopy ] )	    copy();	else if ( r == id[ IdPaste ] )	    paste();#endif	else if ( r == id[ IdClear ] )	    clear();	else if ( r == id[ IdSelectAll ] )	    selectAll();	return;    }#endif //QT_NO_POPUPMENU    d->inDoubleClick = FALSE;    int newCP = xPosToCursorPos( e->pos().x() );    int m1 = minMark();    int m2 = maxMark();#ifndef QT_NO_DRAGANDDROP    if ( hasMarkedText() && echoMode() == Normal && !( e->state() & ShiftButton ) &&	 e->button() == LeftButton && m1 < newCP && m2 > newCP ) {	d->dndTimer.start( QApplication::startDragTime(), TRUE );	d->dnd_primed = TRUE;	return;    }#endif    m1 = QMIN( m1, cursorPos );    m2 = QMAX( m2, cursorPos );    dragScrolling = FALSE;    if ( e->state() & ShiftButton ) {	newMark( newCP, FALSE );    } else {	markDrag = newCP;	markAnchor = newCP;	newMark( newCP, FALSE );    }    repaintArea( m1, m2 );    d->mousePressed = TRUE;}#ifndef QT_NO_DRAGANDDROP/*  \internal*/void QLineEdit::doDrag(){    d->dnd_primed = FALSE;    QTextDrag *tdo = new QTextDrag( markedText(), this );    tdo->drag();}#endif // QT_NO_DRAGANDDROP/*!\reimp*/void QLineEdit::mouseMoveEvent( QMouseEvent *e ){#ifndef QT_NO_QWS_IM    if ( composeMode() ) {	return;    }#endif#ifndef QT_NO_DRAGANDDROP    if ( d->dndTimer.isActive() ) {	d->dndTimer.stop();	return;    }    if ( d->dnd_primed ) {	if ( ( d->dnd_startpos - e->pos() ).manhattanLength() > QApplication::startDragDistance() )	    doDrag();	return;    }#endif    if ( !(e->state() & LeftButton) )	return;    int margin = frame() ? frameW()*2 : 2;    if ( e->pos().x() < margin || e->pos().x() > width() - margin ) {	if ( !dragScrolling ) {	    dragScrolling = TRUE;	    scrollingLeft = e->pos().x() < margin;	    if ( scrollingLeft )		newMark( xPosToCursorPos( 0 ), FALSE );	    else		newMark( xPosToCursorPos( width() ), FALSE );	    d->dragTimer.start( scrollTime );	}    } else {	dragScrolling = FALSE;	int mousePos = xPosToCursorPos( e->pos().x() );	int m1 = markDrag;	newMark( mousePos, FALSE );	repaintArea( m1, mousePos );    }}/*!\reimp*/void QLineEdit::mouseReleaseEvent( QMouseEvent * e ){#ifdef _WS_QWS_    if ( qt_lineedit_password_visible_on_focus &&	 echoMode() == Password) {	selectAll();	return;    }#endif#if defined( _WS_QWS_ ) && !defined ( QT_NO_QWS_IM )    if ( composeMode() ) {	int clickPos = xPosToCursorPos( e->pos().x() ) - d->preeditStart;	if ( clickPos >= 0 && clickPos <= d->preeditLength )	    QPaintDevice::qwsDisplay()->sendIMMouseEvent( clickPos, FALSE );		return;    }#endif    dragScrolling = FALSE;    d->dnd_primed = FALSE;    if ( d->dndTimer.isActive() ) {	d->dndTimer.stop();	int ncp = xPosToCursorPos( e->pos().x() );	setSelection( ncp, 0 );	setCursorPosition( ncp );	return;    }    if ( d->inDoubleClick ) {	d->inDoubleClick = FALSE;	return;    }    if ( !d->mousePressed )	return;    d->mousePressed = FALSE;#ifndef QT_NO_CLIPBOARD#if defined(_WS_X11_)    copy();#endif    if ( !d->readonly && e->button() == MidButton ) {#if defined(_WS_X11_)	insert( QApplication::clipboard()->text() );#else	if ( style() == MotifStyle )	    insert( QApplication::clipboard()->text() );#endif	return;    }#endif    if ( e->button() != LeftButton )	return;    int margin = frame() ? frameW()*2 : 2;    if ( !QRect( margin, margin,		 width() - 2*margin,		 height() - 2*margin ).contains( e->pos() ) )	return;    int mousePos = xPosToCursorPos( e->pos().x() );    int m1 = markDrag;    newMark( mousePos, FALSE );    repaintArea( m1, mousePos );}/*!\reimp*/void QLineEdit::mouseDoubleClickEvent( QMouseEvent * ){#ifndef QT_NO_QWS_IM    if ( composeMode() ) {	return;    }#endif    d->inDoubleClick = TRUE;    dragScrolling = FALSE;    if ( echoMode() == Password )	selectAll();    else	markWord( cursorPos );}/*!  Moves the cursor leftwards one or more characters.  \sa cursorRight()*/void QLineEdit::cursorLeft( bool mark, int steps ){    cursorRight( mark, -steps );}/*!  Moves the cursor rightwards one or more characters.  \sa cursorLeft()*/void QLineEdit::cursorRight( bool mark, int steps ){    int cp = cursorPos + steps;    cp = QMAX( cp, 0 );    cp = QMIN( cp, (int)tbuf.length() );    if ( cp == cursorPos ) {	if ( !mark )	    deselect();    } else if ( mark ) {	newMark( cp );	blinkOn();    } else {	setCursorPosition( cp );	setSelection( cp, 0 );    }}/*!  Deletes the character to the left of the text cursor and moves the  cursor one position to the left. If a text has been marked by the user  (e.g. by clicking and dragging) the cursor will be put at the beginning  of the marked text and the marked text will be removed.  \sa del()*/void QLineEdit::backspace(){    if ( hasMarkedText() ) {	del();    } else if ( cursorPos > 0 ) {	if ( d->undo && d->needundo && !d->ignoreUndoWithDel ) {	    if ( d->undoList.isEmpty() || d->undoList.last().str != tbuf ) {		d->undoList += QLineEditUndoItem(tbuf, cursorPos );		d->redoList.clear();	    }	}	cursorLeft( FALSE );	del();    }}/*!  Deletes the character on the right side of the text cursor. If a text  has been marked by the user (e.g. by clicking and dragging) the cursor  will be put at the beginning of the marked text and the marked text will  be removed.  \sa backspace()*/void QLineEdit::del(){    QString test( tbuf);    d->ignoreUndoWithDel = TRUE;    if ( d->undo && ( (d->needundo && !d->ignoreUndoWithDel) || hasMarkedText() ) ) {	if ( d->undoList.isEmpty() || d->undoList.last().str != tbuf ) {	    d->undoList += QLineEditUndoItem(tbuf, cursorPos );	    d->redoList.clear();	}    }    if ( hasMarkedText() ) {	test.remove( minMark(), maxMark() - minMark() );	validateAndSet( test, minMark(), minMark(), minMark() );    } else if ( cursorPos != (int)tbuf.length() ) {	test.remove( cursorPos, 1 );	validateAndSet( test, cursorPos, 0, 0 );    }}/*!  Moves the text cursor to the left end of the line. If mark is TRUE text  will be marked towards the first position, if not any marked text will  be unmarked if the cursor is moved.  \sa end()*/void QLineEdit::home( bool mark ){    cursorRight( mark, -cursorPos );}/*!  Moves the text cursor to the right end of the line. If mark is TRUE text  will be marked towards the last position, if not any marked text will  be unmarked if the cursor is moved.  \sa home()*/void QLineEdit::end( bool mark ){    cursorRight( mark, tbuf.length()-cursorPos );}void QLineEdit::newMark( int pos, bool c ){    if ( markDrag != pos || cursorPos != pos )	d->pmDirty = TRUE;    markDrag = pos;    setCursorPosition( pos );#if !defined(QT_NO_CLIPBOARD) && defined(_WS_X11_)    if ( c )	copy();#else    Q_UNUSED(c);#endif}void QLineEdit::markWord( int pos ){    int i = pos - 1;    while ( i >= 0 && tbuf[i].isPrint() && !tbuf[i].isSpace() )	i--;    i++;    int newAnchor = i;    i = pos;    while ( tbuf[i].isPrint() && !tbuf[i].isSpace() )	i++;    if ( style() != MotifStyle ) {	while( tbuf[i].isSpace() )	    i++;	setCursorPosition( i );    }    int newDrag = i;    setSelection( newAnchor, newDrag - newAnchor );#ifndef QT_NO_CLIPBOARD#if defined(_WS_X11_)    copy();#endif#endif}#ifndef QT_NO_CLIPBOARD/*! Copies the marked text to the clipboard, if there is any and  if echoMode() is Normal.  \sa cut() paste()*/void QLineEdit::copy() const{    QString t = markedText();#ifdef QT_KEYPAD_MODE //QT_KEYPAD_MODE    // In keypad input mode, copy will copy the entire field if there is no    // marked text.    if ( t.isEmpty() )	t = text();#endif    if ( !t.isEmpty() && echoMode() == Normal ) {	disconnect( QApplication::clipboard(), SIGNAL(dataChanged()), this, 0);	QApplication::clipboard()->setText( t );	connect( QApplication::clipboard(), SIGNAL(dataChanged()),		 this, SLOT(clipboardChanged()) );    }}/*!  Inserts the clipboard's text at the cursor position, deleting any  previous marked text.  If the end result is not acceptable for the current validator,  nothing happens.  \sa copy() cut()*/void QLineEdit::paste(){    insert( QApplication::clipboard()->text() );}/*!  Copies the marked text to the clipboard and deletes it, if there is  any.  If the current validator disallows deleting the marked text, cut()  will copy it but not delete it.  \sa copy() paste()*/void QLineEdit::cut(){    QString t = markedText();    if ( !t.isEmpty() ) {	copy();	del();    }}#endif/*!  Sets the alignment of the line edit. Possible Values are Qt::AlignLeft,  Qt::AlignRight and Qt::Align(H)Center - see Qt::AlignmentFlags.  \sa alignment()*/void QLineEdit::setAlignment( int flag ){    if ( flag == alignmentFlag )	return;    if ( flag == Qt::AlignRight ||	 flag == Qt::AlignCenter ||	 flag == Qt::AlignHCenter ||	 flag == Qt::AlignLeft ) {	alignmentFlag = flag;	updateOffset();	update();    }}/*!  Returns the alignment of the line edit. Possible Values  are Qt::AlignLeft, Qt::AlignRight and Qt::Align(H)Center.  \sa setAlignment(), Qt::AlignmentFlags*/int QLineEdit::alignment() const{    return alignmentFlag;}/*!  This private slot is activated when this line edit owns the clipboard and  some other widget/application takes over the clipboard. (X11 only)*/void QLineEdit::clipboardChanged(){#if defined(_WS_X11_)    disconnect( QApplication::clipboard(), SIGNAL(dataChanged()),		this, SLOT(clipboardChanged()) );    deselect();#endif}int QLineEdit::lastCharVisible() const{    int tDispWidth = width() - (frameW()*2 + 4);    return xPosToCursorPos( tDispWidth );}int QLineEdit::minMark() const{    return markAnchor < markDrag ? markAnchor : markDrag;}int QLineEdit::maxMark() const{    return markAnchor > markDrag ? markAnchor : markDrag;}/*!  Sets the line edit to draw itself inside a frame if \a  enable is TRUE, and to draw itself without any frame if \a enable is  FALSE.  The default is TRUE.  \sa frame()*/void QLineEdit::setFrame( bool enable ){    if ( d->frame == enable )	return;    d->frame = enable;    d->pmDirty = TRUE;    updateOffset();    update();}/*!  Returns TRUE if the line edit draws itself inside a frame, FALSE  if it draws itself without any frame.  The default is to use a frame.  \sa setFrame()*/bool QLineEdit::frame() const{    return d ? d->frame : TRUE;}int QLineEdit::frameW() const{    return frame() ? style().defaultFrameWidth() : 0;}/*!  Sets the echo mode of the line edit widget.  The echo modes available are:  <ul>  <li> \c Normal - display characters as they are entered.  This is	the default.  <li> \c NoEcho - do not display anything. This may be appropriate	for passwords where even the length of the password should	be kept secret.  <li> \c Password - display asterisks instead of the characters	actually entered.  </ul>  The widget's display, and the ability to copy or drag the  text is affected by this setting.  \sa echoMode() EchoMode displayText()*/void QLineEdit::setEchoMode( EchoMode mode ){    if ( d->mode == mode )	return;    d->mode = mode;    d->pmDirty = TRUE;    updateOffset();    update();}/*!  Returns the echo mode of the line edit.  \sa setEchoMode() EchoMode*/QLineEdit::EchoMode QLineEdit::echoMode() const{    return d->mode;}/*!  Enables or disables read-only mode, where the user can cut-and-paste  or drag-and-drop the text, but cannot edit it.  They never see a cursor in this case.  \sa setEnabled(), isReadOnly()*/void QLineEdit::setReadOnly( bool enable )

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本久久精品一区二区| 91视频免费播放| 自拍视频在线观看一区二区| 日韩午夜激情免费电影| 成人美女在线视频| 美国一区二区三区在线播放| 一区二区三区精密机械公司| 2021国产精品久久精品| 欧美人成免费网站| 91一区二区三区在线观看| 激情久久五月天| 香蕉久久夜色精品国产使用方法| 国产视频亚洲色图| 日韩亚洲欧美一区| 欧美色偷偷大香| 91浏览器在线视频| 成人中文字幕在线| 精品影院一区二区久久久| 亚洲成av人影院在线观看网| 亚洲女同ⅹxx女同tv| 国产精品美女久久福利网站| 久久综合丝袜日本网| 在线综合+亚洲+欧美中文字幕| 一本一道久久a久久精品| 成人国产在线观看| 国产大片一区二区| 国产麻豆精品一区二区| 久久精品国产第一区二区三区| 日韩中文字幕麻豆| 午夜亚洲福利老司机| 亚洲一级在线观看| 亚洲国产中文字幕| 亚洲一区二区三区四区五区黄 | 亚洲图片你懂的| 日本一区二区三区四区在线视频| 337p日本欧洲亚洲大胆色噜噜| 666欧美在线视频| 777xxx欧美| 日韩欧美的一区二区| 日韩一级黄色片| 欧美精品一区二区久久婷婷 | 久久精品综合网| 国产午夜亚洲精品理论片色戒| 欧美mv和日韩mv的网站| 精品久久久久久久久久久久久久久久久| 欧美一级艳片视频免费观看| 欧美不卡在线视频| 精品国免费一区二区三区| 精品国产sm最大网站| 久久午夜国产精品| 国产精品美女久久久久aⅴ国产馆| 中文字幕亚洲不卡| 亚洲男女一区二区三区| 亚洲永久免费av| 日韩av中文字幕一区二区三区| 蜜臀av一区二区在线免费观看| 紧缚捆绑精品一区二区| 成人深夜在线观看| 91热门视频在线观看| 在线精品视频一区二区| 在线播放国产精品二区一二区四区| 69久久夜色精品国产69蝌蚪网| 精品三级在线观看| 中文字幕成人网| 亚洲一区二区三区四区的| 美国十次了思思久久精品导航| 国产在线不卡一卡二卡三卡四卡| 成人午夜大片免费观看| 欧美午夜精品电影| 精品少妇一区二区三区在线视频| 中文字幕av一区二区三区高| 亚洲国产中文字幕在线视频综合| 美女在线一区二区| www.亚洲激情.com| 欧美嫩在线观看| 国产亚洲欧美色| 亚洲一区二区在线播放相泽| 狠狠狠色丁香婷婷综合久久五月| 白白色 亚洲乱淫| 欧美日韩一本到| 国产午夜亚洲精品羞羞网站| 亚洲一区视频在线观看视频| 国产一区二区影院| 欧美性受xxxx黑人xyx性爽| 精品国产99国产精品| 亚洲精品成人天堂一二三| 免费成人在线播放| 99这里只有久久精品视频| 777午夜精品视频在线播放| 欧美国产亚洲另类动漫| 日本中文字幕一区| 波多野结衣欧美| 精品国产亚洲在线| 亚洲一区欧美一区| 波多野结衣中文一区| 精品日韩欧美一区二区| 亚洲福利视频一区二区| 成人综合婷婷国产精品久久蜜臀| 91精品国产欧美一区二区成人| 国产精品人妖ts系列视频| 蜜臀精品一区二区三区在线观看| 99精品久久99久久久久| 精品国产三级a在线观看| 亚洲福利国产精品| 91在线视频播放| 欧美国产日韩一二三区| 精品在线免费视频| 欧美另类变人与禽xxxxx| 综合欧美一区二区三区| a在线欧美一区| 欧美大片国产精品| 亚洲二区在线视频| 日本高清不卡aⅴ免费网站| 欧美激情一二三区| 久久狠狠亚洲综合| 91麻豆精品国产综合久久久久久| 一二三四区精品视频| 99久久综合狠狠综合久久| 久久久精品蜜桃| 国内精品伊人久久久久av一坑 | 亚洲成人av在线电影| 色妹子一区二区| 中文字幕一区二区三区色视频| 国产99久久久国产精品潘金网站| 欧美mv日韩mv亚洲| 九九精品视频在线看| 欧美va亚洲va在线观看蝴蝶网| 强制捆绑调教一区二区| 555夜色666亚洲国产免| 视频一区视频二区中文字幕| 91精品在线麻豆| 日韩成人av影视| 日韩视频一区在线观看| 欧美a一区二区| 日韩精品最新网址| 精品一区二区在线观看| 欧美不卡在线视频| 国产精品综合在线视频| 日本一区二区三区四区在线视频 | 国产一区二区精品久久91| 精品成人私密视频| 国产成a人无v码亚洲福利| 中文字幕欧美激情一区| 色综合天天综合给合国产| 国产精品激情偷乱一区二区∴| 97成人超碰视| 悠悠色在线精品| 欧美日韩国产美女| 免费在线观看视频一区| 欧美精品一区二区三区在线播放 | 亚洲视频资源在线| 91麻豆国产香蕉久久精品| 亚洲已满18点击进入久久| 91精选在线观看| 国内精品视频666| 国产精品每日更新| 欧美性猛交xxxx乱大交退制版| 日韩一区精品字幕| 久久久综合激的五月天| 91影视在线播放| 视频在线在亚洲| 久久久国产午夜精品| 91蜜桃网址入口| 丝袜国产日韩另类美女| 久久久99久久| 欧美午夜精品一区二区三区| 九九九精品视频| 亚洲精品中文字幕乱码三区| 91麻豆精品国产自产在线 | 国产欧美精品在线观看| 在线观看欧美精品| 久久国产精品72免费观看| 成人免费在线视频| 欧美酷刑日本凌虐凌虐| 国产成人精品亚洲午夜麻豆| 一区二区三区免费| 久久综合视频网| 91福利视频久久久久| 国内精品写真在线观看| 亚洲一线二线三线视频| 久久久久综合网| 欧美亚洲尤物久久| 国产一区二区h| 亚洲v日本v欧美v久久精品| 国产亚洲一区二区三区四区| 欧美美女bb生活片| 成人av手机在线观看| 久久精品噜噜噜成人88aⅴ| 亚洲伦理在线免费看| 久久久久国产精品免费免费搜索| 欧美视频一区在线观看| 岛国精品在线观看| 日韩成人精品视频| 亚洲精品videosex极品| 久久一区二区三区四区| 欧美色爱综合网| 91视频精品在这里| 国产成人免费视频网站| 久热成人在线视频| 亚洲mv大片欧洲mv大片精品|