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

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

?? viewmanager.cpp

?? qtopia的源程序,一種嵌入式圖形操作系統
?? CPP
字號:
/******************************************************************************** Copyright (C) 1992-$THISYEAR$ Trolltech AS. All rights reserved.**** This file is part of the $MODULE$ of the Qt Toolkit.**** $LICENSE$**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include "viewmanager.h"#include "editor.h"#include "markerwidget.h"#include <qlayout.h>//Added by qt3to4:#include <QVBoxLayout>#include <Q3Frame>#include <Q3ValueList>#include <QHBoxLayout>#include <QResizeEvent>#include <QEvent>#include <QChildEvent>#include "q3richtext_p.h"#include "paragdata.h"#include <qobject.h>#include <qlabel.h>#include <qtimer.h>ViewManager::ViewManager( QWidget *parent, const char *name )    : QWidget( parent, name ), curView( 0 ){    QHBoxLayout *l = new QHBoxLayout( this );    markerWidget = new MarkerWidget( this, "editor_markerwidget" );    connect( markerWidget, SIGNAL( markersChanged() ),	     this, SIGNAL( markersChanged() ) );    connect( markerWidget, SIGNAL( collapseFunction( Q3TextParagraph * ) ),	     this, SIGNAL( collapseFunction( Q3TextParagraph * ) ) );    connect( markerWidget, SIGNAL( expandFunction( Q3TextParagraph * ) ),	     this, SIGNAL( expandFunction( Q3TextParagraph * ) ) );    connect( markerWidget, SIGNAL( collapse( bool ) ),	     this, SIGNAL( collapse( bool ) ) );    connect( markerWidget, SIGNAL( expand( bool ) ),	     this, SIGNAL( expand( bool ) ) );    connect( markerWidget, SIGNAL( editBreakPoints() ),	     this, SIGNAL( editBreakPoints() ) );    connect( markerWidget, SIGNAL( isBreakpointPossible( bool&, const QString &, int ) ),	     this, SIGNAL( isBreakpointPossible( bool&, const QString &, int ) ) );    connect( markerWidget, SIGNAL( showMessage( const QString & ) ),	     this, SLOT( showMessage( const QString & ) ) );    messageTimer = new QTimer( this );    connect( messageTimer, SIGNAL( timeout() ), this, SLOT( clearStatusBar() ) );    markerWidget->setFixedWidth( fontMetrics().width( QString::fromLatin1("0000") ) + 20 );    l->addWidget( markerWidget );    layout = new QVBoxLayout( l );}void ViewManager::addView( QWidget *view ){    layout->addWidget( view );    curView = view;    connect( ( (Editor*)curView )->verticalScrollBar(), SIGNAL( valueChanged( int ) ),	     markerWidget, SLOT( doRepaint() ) );    connect( (Editor*)curView, SIGNAL( textChanged() ),	     markerWidget, SLOT( doRepaint() ) );    connect( (Editor*)curView, SIGNAL( clearErrorMarker() ),	     this, SLOT( clearErrorMarker() ) );    posLabel = new QLabel( this, "editor_poslabel" );    posLabel->setAlignment( Qt::AlignVCenter | Qt::AlignRight );    posLabel->setText( QString::fromLatin1(" Line: 1 Col: 1") );    posLabel->setFrameStyle( Q3Frame::Sunken | Q3Frame::Panel );    posLabel->setLineWidth( 1 );    posLabel->setFixedHeight( posLabel->fontMetrics().height() );    layout->addWidget( posLabel );    connect( curView, SIGNAL( cursorPositionChanged( int, int ) ),	     this, SLOT( cursorPositionChanged( int, int ) ) );}QWidget *ViewManager::currentView() const{    return curView;}void ViewManager::childEvent( QChildEvent *e ){    if ( e->type() == QEvent::ChildInserted && qobject_cast<Editor*>(e->child()))        addView((QWidget*)e->child());    QWidget::childEvent( e );}void ViewManager::setError( int line ){    Q3TextParagraph *p = ( (Editor*)curView )->document()->paragAt( line );    if ( p ) {	( (Editor*)curView )->setErrorSelection( line );	( (Editor*)curView )->setCursorPosition( line, 0 );	( (Editor*)curView )->viewport()->setFocus();	( (Editor*)curView )->makeFunctionVisible( p );	ParagData *paragData = (ParagData*)p->extraData();	if ( !paragData )	    paragData = new ParagData;	paragData->marker = ParagData::Error;	p->setExtraData( paragData );	markerWidget->doRepaint();    }}void ViewManager::setStep( int line ){    Q3TextParagraph *p = ( (Editor*)curView )->document()->firstParagraph();    while ( p ) {	if ( p->extraData() )	    ( (ParagData*)p->extraData() )->step = false;	p = p->next();    }    p = ( (Editor*)curView )->document()->paragAt( line );    if ( p ) {	( (Editor*)curView )->setStepSelection( line );	( (Editor*)curView )->setCursorPosition( line, 0 );	( (Editor*)curView )->viewport()->setFocus();	( (Editor*)curView )->makeFunctionVisible( p );	ParagData *paragData = (ParagData*)p->extraData();	if ( !paragData )	    paragData = new ParagData; 	paragData->step = true;	p->setExtraData( paragData );	markerWidget->doRepaint();    }}void ViewManager::clearStep(){    ( (Editor*)curView )->clearStepSelection();    Q3TextParagraph *p = ( (Editor*)curView )->document()->firstParagraph();    while ( p ) {	if ( p->extraData() )	    ( (ParagData*)p->extraData() )->step = false;	p = p->next();    }    markerWidget->doRepaint();}void ViewManager::setStackFrame( int line ){    Q3TextParagraph *p = ( (Editor*)curView )->document()->paragAt( line );    if ( p ) {	( (Editor*)curView )->sync();	( (Editor*)curView )->setCursorPosition( line, 0 );	( (Editor*)curView )->ensureCursorVisible();	( (Editor*)curView )->viewport()->setFocus();	( (Editor*)curView )->makeFunctionVisible( p );	ParagData *paragData = (ParagData*)p->extraData();	if ( !paragData )	    paragData = new ParagData; 	paragData->stackFrame = true;	p->setExtraData( paragData );	markerWidget->doRepaint();    }}void ViewManager::clearStackFrame(){    Q3TextParagraph *p = ( (Editor*)curView )->document()->firstParagraph();    while ( p ) {	if ( p->extraData() ) {	    ( (ParagData*)p->extraData() )->stackFrame = false;	    if ( ( (ParagData*)p->extraData() )->marker == ParagData::Error )		( (ParagData*)p->extraData() )->marker = ParagData::NoMarker;	}	p = p->next();    }    markerWidget->doRepaint();}void ViewManager::resizeEvent( QResizeEvent *e ){    QWidget::resizeEvent( e );    markerWidget->doRepaint();}void ViewManager::clearErrorMarker(){    Q3TextParagraph *p = ( (Editor*)curView )->document()->firstParagraph();    while ( p ) {	if ( p->extraData() )	    ( (ParagData*)p->extraData() )->marker = ParagData::NoMarker;	p = p->next();    }    markerWidget->doRepaint();}void ViewManager::setBreakPoints( const Q3ValueList<uint> &l ){    Q3TextParagraph *p = ( (Editor*)curView )->document()->firstParagraph();    int i = 0;    while ( p ) {	if ( l.find( i ) != l.end() ) {	    if ( !p->extraData() ) {		ParagData *data = new ParagData;		p->setExtraData( data );	    }	    ParagData *data = (ParagData*)p->extraData();	    data->marker = ParagData::Breakpoint;	} else if ( p->extraData() ) {	    ParagData *data = (ParagData*)p->extraData();	    data->marker = ParagData::NoMarker;	}	p = p->next();	++i;    }    markerWidget->doRepaint();}Q3ValueList<uint> ViewManager::breakPoints() const{    Q3ValueList<uint> l;    int i = 0;    Q3TextParagraph *p = ( (Editor*)curView )->document()->firstParagraph();    while ( p ) {	if ( p->extraData() &&	     ( (ParagData*)p->extraData() )->marker == ParagData::Breakpoint )	    l << i;	p = p->next();	++i;    }    return l;}void ViewManager::showMarkerWidget( bool b ){    if ( b )	markerWidget->show();    else	markerWidget->hide();}void ViewManager::emitMarkersChanged(){    emit markersChanged();}void ViewManager::cursorPositionChanged( int row, int col ){    posLabel->setText( QString( " Line: %1 Col: %2" ).arg( row + 1 ).arg( col + 1 ) );}void ViewManager::showMessage( const QString &msg ){    int row;    int col;    ( (Q3TextEdit*)currentView() )->getCursorPosition( &row, &col );    posLabel->setText( msg );    messageTimer->start( 1000, true );}void ViewManager::clearStatusBar(){    int row;    int col;    ( (Q3TextEdit*)currentView() )->getCursorPosition( &row, &col );    posLabel->setText( QString( " Line: %1 Col: %2" ).arg( row + 1 ).arg( col + 1 ) );}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产91综合久久蜜臀| 欧洲精品在线观看| 天天色图综合网| 一区二区三区蜜桃| 亚洲欧美色图小说| 亚洲国产日韩av| 首页国产丝袜综合| 日韩 欧美一区二区三区| 日韩成人伦理电影在线观看| 日韩和的一区二区| 青草av.久久免费一区| 精品一区二区在线视频| 国产在线不卡一卡二卡三卡四卡| 国产大陆a不卡| 99re在线精品| 日韩欧美一卡二卡| 中文欧美字幕免费| 亚洲线精品一区二区三区八戒| 天天综合色天天综合色h| 免费在线看成人av| 大胆欧美人体老妇| 欧美日精品一区视频| 日韩女优视频免费观看| 国产精品国产三级国产aⅴ原创 | 日韩精品每日更新| 麻豆久久久久久| 成人免费视频视频在线观看免费 | 色猫猫国产区一区二在线视频| 欧美在线不卡一区| 精品久久久久久无| 亚洲人一二三区| 男女激情视频一区| 9人人澡人人爽人人精品| 欧美久久久久久久久| 国产日韩精品一区二区三区在线| 亚洲综合一区在线| 丁香激情综合国产| 欧美日韩高清影院| 中文字幕一区二区三区在线播放| 日本欧美大码aⅴ在线播放| 成人永久aaa| 91精品国产色综合久久不卡蜜臀| 国产精品成人免费在线| 六月婷婷色综合| 欧美日韩在线播放三区| 国产精品萝li| 精品一区二区三区香蕉蜜桃 | 精彩视频一区二区| 欧美精品丝袜中出| 亚洲男人天堂一区| 国产一区二区三区不卡在线观看| 欧美日韩在线精品一区二区三区激情 | 国产精品一区二区黑丝| 欧美综合一区二区| 18涩涩午夜精品.www| 国产精品自拍毛片| 久久综合九色综合久久久精品综合| 一区二区三区欧美久久| 成人av中文字幕| 国产亚洲福利社区一区| 日韩电影在线一区二区| 欧美日韩国产综合久久| 亚洲精品中文在线观看| 成人av网站在线观看| 国产欧美日韩在线视频| 精品一区二区免费在线观看| 欧美日韩国产首页| 亚洲午夜在线视频| 欧美日韩中字一区| 亚洲第一狼人社区| 欧美视频精品在线| 午夜精品久久久久久| 欧美久久一区二区| 奇米精品一区二区三区四区| 欧美一区二区三级| 精东粉嫩av免费一区二区三区| 日韩一级精品视频在线观看| 奇米777欧美一区二区| 日韩欧美亚洲另类制服综合在线| 日本不卡一区二区三区| 日韩午夜精品视频| 国产乱人伦偷精品视频免下载| 精品国产精品网麻豆系列| 久久99国产乱子伦精品免费| 欧美大白屁股肥臀xxxxxx| 理论片日本一区| 日本一区二区三区高清不卡| 成人国产在线观看| 一区二区三区精品| 欧美一区二区三区在线视频| 久久精品国产99国产| 国产亚洲一区二区三区在线观看 | 在线观看亚洲一区| 麻豆精品在线看| 国产精品网站在线| 一本一道久久a久久精品| 爽好久久久欧美精品| 精品欧美一区二区久久| 丁香桃色午夜亚洲一区二区三区| 国产精品剧情在线亚洲| 精品视频1区2区3区| 国产一区二区三区四区五区美女| 日本一区二区电影| 欧美视频一二三区| 国产精品主播直播| 一区二区久久久久久| 日韩欧美另类在线| 色婷婷狠狠综合| 麻豆91小视频| 中文字幕av资源一区| 在线观看成人小视频| 九九久久精品视频| 国产精品少妇自拍| 日韩一区二区免费在线电影| 成人av一区二区三区| 偷拍亚洲欧洲综合| 国产精品国产馆在线真实露脸| 欧美三级电影在线观看| 成人av在线影院| 久久国产三级精品| 亚洲不卡av一区二区三区| 亚洲欧洲综合另类| 精品嫩草影院久久| 在线日韩av片| 国产成人啪免费观看软件| 亚洲一区二区三区影院| 日本一区二区免费在线| 日韩视频免费观看高清完整版在线观看 | 五月天亚洲精品| 中文字幕中文在线不卡住| 精品国产91久久久久久久妲己| 色av成人天堂桃色av| 成人动漫精品一区二区| 国产精品综合一区二区| 蜜芽一区二区三区| 亚洲成国产人片在线观看| 亚洲欧洲99久久| 欧美激情资源网| 亚洲精品一区二区三区精华液 | 激情国产一区二区| 热久久免费视频| 天堂成人国产精品一区| 国产成人无遮挡在线视频| 免费人成在线不卡| 日本不卡在线视频| 免费不卡在线视频| 日日骚欧美日韩| 日韩专区欧美专区| 日本中文字幕一区| 免费视频最近日韩| 久久66热偷产精品| 国产一区二区三区| 国产成人午夜99999| 国产成人免费视频网站| 国产精品一区在线观看乱码| 国产传媒日韩欧美成人| 不卡的av在线| 91国产免费观看| 欧美日韩视频在线观看一区二区三区| 欧洲av一区二区嗯嗯嗯啊| 欧美欧美欧美欧美| 欧美va亚洲va香蕉在线| 精品盗摄一区二区三区| 国产人成亚洲第一网站在线播放| 国产欧美一区二区三区在线老狼| 中文字幕av一区二区三区免费看| 日韩一区中文字幕| 亚洲一区免费观看| 日韩电影在线免费观看| 国产传媒久久文化传媒| 色综合天天做天天爱| 欧美日韩国产影片| 久久久久国产精品麻豆ai换脸 | 国产成人免费视频| 色综合网色综合| 欧美一级片在线观看| 欧美经典三级视频一区二区三区| 成人欧美一区二区三区黑人麻豆 | 国产一区视频网站| 91女厕偷拍女厕偷拍高清| 26uuu精品一区二区| 国产午夜亚洲精品午夜鲁丝片| 国产精品私人自拍| 亚洲一区二区不卡免费| 国产在线麻豆精品观看| 色域天天综合网| 欧美精品一区二区在线观看| 1024成人网| 麻豆国产精品视频| 91国偷自产一区二区开放时间| 日韩欧美电影一二三| 亚洲天天做日日做天天谢日日欢 | 亚洲精品美国一| 久久精品国产色蜜蜜麻豆| 成人免费看黄yyy456| 欧美丰满嫩嫩电影| 亚洲精品欧美在线| 丁香天五香天堂综合| 精品成人在线观看| 日韩精品国产精品|