⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 designerappiface.cpp

📁 Linux下的基于X11的图形开发环境。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
 /************************************************************************ Copyright (C) 2000 Trolltech AS.  All rights reserved.**** This file is part of Qt Designer.**** This file may be distributed and/or modified under the terms of the** GNU General Public License version 2 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.**** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#include <qmenubar.h>#include <qpopupmenu.h>#include "designerappiface.h"#include "mainwindow.h"#include "project.h"#include "formwindow.h"#include "workspace.h"#include "widgetfactory.h"#include "command.h"#include "outputwindow.h"#include "../shared/widgetdatabase.h"#include <qvariant.h>#include <qlistview.h>#include <qtextedit.h>#include <qstatusbar.h>#include "pixmapcollection.h"#include "hierarchyview.h"#include <stdlib.h>#include <qmetaobject.h>DesignerInterfaceImpl::DesignerInterfaceImpl( MainWindow *mw )    : mainWindow( mw ){}QRESULT DesignerInterfaceImpl::queryInterface( const QUuid &uuid, QUnknownInterface** iface ){    *iface = 0;    if ( uuid == IID_QUnknown )	*iface = (QUnknownInterface*)this;    else if ( uuid == IID_QComponentInformation )	*iface = (QComponentInformationInterface*)this;    else if ( uuid == IID_Designer )	*iface = (DesignerInterface*)this;    else	return QE_NOINTERFACE;    (*iface)->addRef();    return QS_OK;}DesignerProject *DesignerInterfaceImpl::currentProject() const{    return mainWindow->currProject()->iFace();}DesignerFormWindow *DesignerInterfaceImpl::currentForm() const{    if ( mainWindow->formWindow() )	return mainWindow->formWindow()->iFace();    return 0;}DesignerSourceFile *DesignerInterfaceImpl::currentSourceFile() const{    if ( mainWindow->sourceFile() )	return mainWindow->sourceFile()->iFace();    return 0;}QPtrList<DesignerProject> DesignerInterfaceImpl::projectList() const{    return mainWindow->projectList();}void DesignerInterfaceImpl::showStatusMessage( const QString &text, int ms ) const{    if ( text.isEmpty() ) {	mainWindow->statusBar()->clear();	return;    }    if ( ms )	mainWindow->statusBar()->message( text, ms );    else	mainWindow->statusBar()->message( text );}DesignerDock *DesignerInterfaceImpl::createDock() const{    return 0;}DesignerOutputDock *DesignerInterfaceImpl::outputDock() const{    return mainWindow->outputWindow() ? mainWindow->outputWindow()->iFace() : 0;}void DesignerInterfaceImpl::setModified( bool b, QWidget *window ){    mainWindow->setModified( b, window );}void DesignerInterfaceImpl::updateFunctionList(){    mainWindow->updateFunctionList();    if ( mainWindow->objectHierarchy()->sourceEditor() )	mainWindow->objectHierarchy()->updateClassBrowsers();}void DesignerInterfaceImpl::onProjectChange( QObject *receiver, const char *slot ){    QObject::connect( mainWindow, SIGNAL( projectChanged() ), receiver, slot );}void DesignerInterfaceImpl::onFormChange( QObject *receiver, const char *slot ){    QObject::connect( mainWindow, SIGNAL( formWindowChanged() ), receiver, slot );    QObject::connect( mainWindow, SIGNAL( editorChanged() ), receiver, slot );}bool DesignerInterfaceImpl::singleProjectMode() const{    return mainWindow->singleProjectMode();}DesignerProjectImpl::DesignerProjectImpl( Project *pr )    : project( pr ){}QPtrList<DesignerFormWindow> DesignerProjectImpl::formList() const{    QPtrList<DesignerFormWindow> list;    QObjectList *forms = project->formList();    if ( !forms )	return list;    QPtrListIterator<QObject> it( *forms );    while ( it.current() ) {	QObject *obj = it.current();	QWidget *par = 0;	++it;	if ( !obj->isWidgetType() || !( par = ((QWidget*)obj)->parentWidget() ) || !par->inherits( "FormWindow" ) )	    continue;	list.append( ((FormWindow*)par)->iFace() );    }    delete forms;    return list;}QString DesignerProjectImpl::formFileName( const QString &form ) const{    for ( QPtrListIterator<FormFile> forms = project->formFiles();	  forms.current(); ++forms ) {	if ( QString( forms.current()->formName() ) == form )	    return forms.current()->fileName();    }    return QString::null;}QStringList DesignerProjectImpl::formNames() const{    QStringList l;    for ( QPtrListIterator<FormFile> forms = project->formFiles();	  forms.current(); ++forms ) {	FormFile* f = forms.current();	if ( f->isFake() )	    continue;	l << f->formName();    }    return l;}QObjectList *DesignerProjectImpl::run(){    return project->run();}void DesignerProjectImpl::addForm( DesignerFormWindow * ){}void DesignerProjectImpl::removeForm( DesignerFormWindow * ){}QString DesignerProjectImpl::fileName() const{    return project->fileName();}void DesignerProjectImpl::setFileName( const QString & ){}QString DesignerProjectImpl::projectName() const{    return project->projectName();}void DesignerProjectImpl::setProjectName( const QString & ){}QString DesignerProjectImpl::databaseFile() const{    return QString::null;}void DesignerProjectImpl::setDatabaseFile( const QString & ){}void DesignerProjectImpl::setupDatabases() const{    MainWindow::self->editDatabaseConnections();}QPtrList<DesignerDatabase> DesignerProjectImpl::databaseConnections() const{    QPtrList<DesignerDatabase> lst;#ifndef QT_NO_SQL    QPtrList<DatabaseConnection> conns = project->databaseConnections();    for ( DatabaseConnection *d = conns.first(); d; d = conns.next() )	lst.append( d->iFace() );#endif    return lst;}void DesignerProjectImpl::addDatabase( DesignerDatabase * ){}void DesignerProjectImpl::removeDatabase( DesignerDatabase * ){}void DesignerProjectImpl::save() const{}void DesignerProjectImpl::setLanguage( const QString &l ){    project->setLanguage( l );}QString DesignerProjectImpl::language() const{    return project->language();}void DesignerProjectImpl::setCustomSetting( const QString &key, const QString &value ){    project->setCustomSetting( key, value );}QString DesignerProjectImpl::customSetting( const QString &key ) const{    if ( key == "QTSCRIPT_PACKAGES" ) {	QString s = getenv( "QTSCRIPT_PACKAGES" );	QString s2 = project->customSetting( "QUICK_PACKAGES" );	if ( !s.isEmpty() && !s2.isEmpty() )#if defined(Q_OS_WIN32)	    s += ";";#else	s += ":";#endif	s += s2;	return s;    }    return project->customSetting( key );}DesignerPixmapCollection *DesignerProjectImpl::pixmapCollection() const{    return project->pixmapCollection()->iFace();}void DesignerProjectImpl::breakPoints( QMap<QString, QValueList<uint> > &bps ) const{    MainWindow::self->saveAllBreakPoints();    for ( QPtrListIterator<SourceFile> sources = project->sourceFiles();	  sources.current(); ++sources ) {	SourceFile* f = sources.current();	bps.insert( project->makeRelative( f->fileName() ) + " <Source-File>", MetaDataBase::breakPoints( f ) );    }    for ( QPtrListIterator<FormFile> forms = project->formFiles();	  forms.current(); ++forms ) {	if ( forms.current()->formWindow() )	    bps.insert( QString( forms.current()->formWindow()->name() ) + " <Form>", MetaDataBase::breakPoints( forms.current()->formWindow() ) );    }}QString DesignerProjectImpl::breakPointCondition( QObject *o, int line ) const{    return MetaDataBase::breakPointCondition( MainWindow::self->findRealObject( o ), line );}void DesignerProjectImpl::setBreakPointCondition( QObject *o, int line, const QString &condition ){    MetaDataBase::setBreakPointCondition( MainWindow::self->findRealObject( o ), line, condition );}void DesignerProjectImpl::clearAllBreakpoints() const{    QValueList<uint> empty;    for ( QPtrListIterator<SourceFile> sources = project->sourceFiles();	  sources.current(); ++sources ) {	SourceFile* f = sources.current();	MetaDataBase::setBreakPoints( f, empty );    }    for ( QPtrListIterator<FormFile> forms = project->formFiles();	  forms.current(); ++forms ) {	if ( forms.current()->formWindow() )	    MetaDataBase::setBreakPoints( forms.current()->formWindow(), empty );	MainWindow::self->resetBreakPoints();    }}void DesignerProjectImpl::setIncludePath( const QString &platform, const QString &path ){    project->setIncludePath( platform, path );}void DesignerProjectImpl::setLibs( const QString &platform, const QString &path ){    project->setLibs( platform, path );}void DesignerProjectImpl::setDefines( const QString &platform, const QString &path ){    project->setDefines( platform, path );}void DesignerProjectImpl::setConfig( const QString &platform, const QString &config ){    project->setConfig( platform, config );}void DesignerProjectImpl::setTemplate( const QString &t ){    project->setTemplate( t );}QString DesignerProjectImpl::config( const QString &platform ) const{    return project->config( platform );}QString DesignerProjectImpl::libs( const QString &platform ) const{    return project->libs( platform );}QString DesignerProjectImpl::defines( const QString &platform ) const{    return project->defines( platform );}QString DesignerProjectImpl::includePath( const QString &platform ) const{    return project->includePath( platform );}QString DesignerProjectImpl::templte() const{    return project->templte();}bool DesignerProjectImpl::isGenericObject( QObject *o ) const{    return !!project->fakeFormFileFor( o );}#ifndef QT_NO_SQLDesignerDatabaseImpl::DesignerDatabaseImpl( DatabaseConnection *d )    : db( d ){}QString DesignerDatabaseImpl::name() const{    return db->name();}void DesignerDatabaseImpl::setName( const QString & ){}QString DesignerDatabaseImpl::driver() const{    return db->driver();}void DesignerDatabaseImpl::setDriver( const QString & ){}QString DesignerDatabaseImpl::database() const{    return db->database();}void DesignerDatabaseImpl::setDatabase( const QString & ){}QString DesignerDatabaseImpl::userName() const{    return db->username();}void DesignerDatabaseImpl::setUserName( const QString & ){}QString DesignerDatabaseImpl::password() const{    return db->password();}void DesignerDatabaseImpl::setPassword( const QString & ){}QString DesignerDatabaseImpl::hostName() const{    return db->hostname();}void DesignerDatabaseImpl::setHostName( const QString & ){}QStringList DesignerDatabaseImpl::tables() const{    return db->tables();}QMap<QString, QStringList> DesignerDatabaseImpl::fields() const{    return db->fields();}void DesignerDatabaseImpl::open( bool suppressDialog ) const{    db->open( suppressDialog );}void DesignerDatabaseImpl::close() const{    db->close();}void DesignerDatabaseImpl::setFields( const QMap<QString, QStringList> & ){}void DesignerDatabaseImpl::setTables( const QStringList & ){}QSqlDatabase* DesignerDatabaseImpl::connection(){    return db->connection();}#endifDesignerPixmapCollectionImpl::DesignerPixmapCollectionImpl( PixmapCollection *coll )    : pixCollection( coll ){}void DesignerPixmapCollectionImpl::addPixmap( const QPixmap &p, const QString &name, bool force ){    PixmapCollection::Pixmap pix;    pix.pix = p;    pix.name = name;    pixCollection->addPixmap( pix, force );    FormWindow *fw = MainWindow::self->formWindow();    if ( fw )	MetaDataBase::setPixmapKey( fw, p.serialNumber(), name );}QPixmap DesignerPixmapCollectionImpl::pixmap( const QString &name ) const{    return pixCollection->pixmap( name );}DesignerFormWindowImpl::DesignerFormWindowImpl( FormWindow *fw )    : formWindow( fw ){}QString DesignerFormWindowImpl::name() const{    return formWindow->name(); }void DesignerFormWindowImpl::setName( const QString &n ){    formWindow->setName( n );}QString DesignerFormWindowImpl::fileName() const{    return formWindow->fileName();

⌨️ 快捷键说明

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