outputwindow.cpp

来自「qt-x11-free-3.0.3.tar.gz minigui图形界面工具」· C++ 代码 · 共 106 行

CPP
106
字号
#include "outputwindow.h"#include "designerappiface.h"#include "metadatabase.h"#include <qlistview.h>#include <qtextedit.h>#include <qapplication.h>#include <qheader.h>#include <stdlib.h>#include <stdio.h>static QTextEdit *debugoutput = 0;bool debugToStderr = FALSE;OutputWindow::OutputWindow( QWidget *parent )    : QTabWidget( parent, "output_window" ), debugView( 0 ), errorView( 0 ){    setupDebug();    setupError();    iface = new DesignerOutputDockImpl( this );}OutputWindow::~OutputWindow(){    debugoutput = debugView = 0;    errorView = 0;    if ( !debugToStderr )	qInstallMsgHandler( oldMsgHandler );    delete iface;}void OutputWindow::setupError(){    errorView = new QListView( this, "OutputWindow::errorView" );    if ( MetaDataBase::languages().count() > 1 )	addTab( errorView, tr( "Error Messages" ) );    else	errorView->hide();    errorView->addColumn( tr( "Message" ) );    errorView->addColumn( tr( "Line" ) );    errorView->header()->setStretchEnabled( TRUE );    errorView->setAllColumnsShowFocus( TRUE );}void debugMessageOutput( QtMsgType type, const char *msg ){    QString s( msg );    if ( type != QtFatalMsg ) {	if ( debugoutput )	    debugoutput->append( s + "\n" );    } else {	fprintf( stderr, msg );	abort();    }    qApp->flush();}void OutputWindow::setupDebug(){    debugoutput = debugView = new QTextEdit( this, "OutputWindow::debugView" );    //debugView->setReadOnly( TRUE );    addTab( debugView, "Debug Output" );    if ( !debugToStderr )	oldMsgHandler = qInstallMsgHandler( debugMessageOutput );}void OutputWindow::setErrorMessages( const QStringList &errors, const QValueList<int> &lines, bool clear ){    if ( clear )	errorView->clear();    QStringList::ConstIterator mit = errors.begin();    QValueList<int>::ConstIterator lit = lines.begin();    for ( ; lit != lines.end() && mit != errors.end(); ++lit, ++mit )	(void)new QListViewItem( errorView, *mit, QString::number( *lit ) );    setCurrentPage( 1 );}DesignerOutputDock *OutputWindow::iFace(){    return iface;}void OutputWindow::appendDebug( const QString &text ){    debugView->append( text + "\n" );}void OutputWindow::clearErrorMessages(){    errorView->clear();}void OutputWindow::clearDebug(){    debugView->clear();}void OutputWindow::showDebugTab(){    showPage( debugView );}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?