1
/**********************************************************************
2
** Copyright (C) 2000 Trolltech AS. All rights reserved.
4
** This file is part of Qt Designer.
6
** This file may be distributed and/or modified under the terms of the
7
** GNU General Public License version 2 as published by the Free Software
8
** Foundation and appearing in the file LICENSE.GPL included in the
9
** packaging of this file.
11
** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
12
** licenses may use this file in accordance with the Qt Commercial License
13
** Agreement provided with the Software.
15
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
18
** See http://www.trolltech.com/gpl/ for GPL licensing information.
19
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
20
** information about Qt Commercial License Agreements.
22
** Contact info@trolltech.com if any conditions of this licensing are
25
**********************************************************************/
28
#include <qpopupmenu.h>
29
#include "designerappiface.h"
30
#include "mainwindow.h"
32
#include "formwindow.h"
33
#include "workspace.h"
34
#include "widgetfactory.h"
36
#include "outputwindow.h"
37
#include "../shared/widgetdatabase.h"
39
#include <qlistview.h>
40
#include <qtextedit.h>
41
#include <qstatusbar.h>
42
#include "pixmapcollection.h"
43
#include "hierarchyview.h"
45
#include <qmetaobject.h>
46
#include "popupmenueditor.h"
47
#include "menubareditor.h"
49
DesignerInterfaceImpl::DesignerInterfaceImpl( MainWindow *mw )
54
QRESULT DesignerInterfaceImpl::queryInterface( const QUuid &uuid, QUnknownInterface** iface )
58
if ( uuid == IID_QUnknown )
59
*iface = (QUnknownInterface*)this;
60
else if ( uuid == IID_QComponentInformation )
61
*iface = (QComponentInformationInterface*)this;
62
else if ( uuid == IID_Designer )
63
*iface = (DesignerInterface*)this;
65
return QE_NOINTERFACE;
72
DesignerProject *DesignerInterfaceImpl::currentProject() const
74
return mainWindow->currProject()->iFace();
77
DesignerFormWindow *DesignerInterfaceImpl::currentForm() const
79
if ( mainWindow->formWindow() )
80
return mainWindow->formWindow()->iFace();
84
DesignerSourceFile *DesignerInterfaceImpl::currentSourceFile() const
86
if ( mainWindow->sourceFile() )
87
return mainWindow->sourceFile()->iFace();
91
QPtrList<DesignerProject> DesignerInterfaceImpl::projectList() const
93
return mainWindow->projectList();
96
void DesignerInterfaceImpl::showStatusMessage( const QString &text, int ms ) const
98
if ( text.isEmpty() ) {
99
mainWindow->statusBar()->clear();
103
mainWindow->statusMessage( text/*, ms*/ );
105
mainWindow->statusMessage( text );
108
DesignerDock *DesignerInterfaceImpl::createDock() const
113
DesignerOutputDock *DesignerInterfaceImpl::outputDock() const
115
return mainWindow->outputWindow() ? mainWindow->outputWindow()->iFace() : 0;
118
void DesignerInterfaceImpl::setModified( bool b, QWidget *window )
120
mainWindow->setModified( b, window );
123
void DesignerInterfaceImpl::updateFunctionList()
125
mainWindow->updateFunctionList();
126
if ( mainWindow->objectHierarchy()->sourceEditor() )
127
mainWindow->objectHierarchy()->updateClassBrowsers();
130
void DesignerInterfaceImpl::onProjectChange( QObject *receiver, const char *slot )
132
QObject::connect( mainWindow, SIGNAL( projectChanged() ), receiver, slot );
135
void DesignerInterfaceImpl::onFormChange( QObject *receiver, const char *slot )
137
QObject::connect( mainWindow, SIGNAL( formWindowChanged() ), receiver, slot );
138
QObject::connect( mainWindow, SIGNAL( editorChanged() ), receiver, slot );
141
bool DesignerInterfaceImpl::singleProjectMode() const
143
return mainWindow->singleProjectMode();
146
void DesignerInterfaceImpl::showError( QWidget *widget,
147
int line, const QString &message )
149
mainWindow->showErrorMessage( widget, line, message );
152
void DesignerInterfaceImpl::runFinished()
154
mainWindow->finishedRun();
157
void DesignerInterfaceImpl::showStackFrame( QWidget *w, int line )
159
mainWindow->showStackFrame( w, line );
162
void DesignerInterfaceImpl::showDebugStep( QWidget *w, int line )
164
mainWindow->showDebugStep( w, line );
167
void DesignerInterfaceImpl::runProjectPrecondition()
169
mainWindow->runProjectPrecondition();
172
void DesignerInterfaceImpl::runProjectPostcondition( QObjectList *l )
174
mainWindow->runProjectPostcondition( l );
177
DesignerProjectImpl::DesignerProjectImpl( Project *pr )
182
QPtrList<DesignerFormWindow> DesignerProjectImpl::formList() const
184
QPtrList<DesignerFormWindow> list;
185
QObjectList *forms = project->formList();
189
QPtrListIterator<QObject> it( *forms );
190
while ( it.current() ) {
191
QObject *obj = it.current();
193
QWidget *par = ::qt_cast<FormWindow*>(obj->parent());
194
if ( !obj->isWidgetType() || !par )
197
list.append( ((FormWindow*)par)->iFace() );
204
QString DesignerProjectImpl::formFileName( const QString &form ) const
206
for ( QPtrListIterator<FormFile> forms = project->formFiles();
207
forms.current(); ++forms ) {
208
if ( QString( forms.current()->formName() ) == form )
209
return forms.current()->fileName();
211
return QString::null;
214
QStringList DesignerProjectImpl::formNames() const
217
for ( QPtrListIterator<FormFile> forms = project->formFiles();
218
forms.current(); ++forms ) {
219
FormFile* f = forms.current();
227
void DesignerProjectImpl::addForm( DesignerFormWindow * )
231
void DesignerProjectImpl::removeForm( DesignerFormWindow * )
235
QString DesignerProjectImpl::fileName() const
237
return project->fileName();
240
void DesignerProjectImpl::setFileName( const QString & )
244
QString DesignerProjectImpl::projectName() const
246
return project->projectName();
249
void DesignerProjectImpl::setProjectName( const QString & )
253
QString DesignerProjectImpl::databaseFile() const
255
return QString::null;
258
void DesignerProjectImpl::setDatabaseFile( const QString & )
262
void DesignerProjectImpl::setupDatabases() const
264
MainWindow::self->editDatabaseConnections();
267
QPtrList<DesignerDatabase> DesignerProjectImpl::databaseConnections() const
269
QPtrList<DesignerDatabase> lst;
271
QPtrList<DatabaseConnection> conns = project->databaseConnections();
272
for ( DatabaseConnection *d = conns.first(); d; d = conns.next() )
273
lst.append( d->iFace() );
278
void DesignerProjectImpl::addDatabase( DesignerDatabase * )
282
void DesignerProjectImpl::removeDatabase( DesignerDatabase * )
286
void DesignerProjectImpl::save() const
290
void DesignerProjectImpl::setLanguage( const QString &l )
292
project->setLanguage( l );
295
QString DesignerProjectImpl::language() const
297
return project->language();
300
void DesignerProjectImpl::setCustomSetting( const QString &key, const QString &value )
302
project->setCustomSetting( key, value );
305
QString DesignerProjectImpl::customSetting( const QString &key ) const
307
if ( key == "QTSCRIPT_PACKAGES" ) {
308
QString s = getenv( "QTSCRIPT_PACKAGES" );
309
QString s2 = project->customSetting( "QUICK_PACKAGES" );
310
if ( !s.isEmpty() && !s2.isEmpty() )
311
#if defined(Q_OS_WIN32)
319
return project->customSetting( key );
322
DesignerPixmapCollection *DesignerProjectImpl::pixmapCollection() const
324
return project->pixmapCollection()->iFace();
327
void DesignerProjectImpl::breakPoints( QMap<QString, QValueList<uint> > &bps ) const
329
MainWindow::self->saveAllBreakPoints();
330
for ( QPtrListIterator<SourceFile> sources = project->sourceFiles();
331
sources.current(); ++sources ) {
332
SourceFile* f = sources.current();
333
bps.insert( project->makeRelative( f->fileName() ) + " <Source-File>", MetaDataBase::breakPoints( f ) );
335
for ( QPtrListIterator<FormFile> forms = project->formFiles();
336
forms.current(); ++forms ) {
337
if ( forms.current()->formWindow() )
338
bps.insert( QString( forms.current()->formWindow()->name() ) + " <Form>", MetaDataBase::breakPoints( forms.current()->formWindow() ) );
342
QString DesignerProjectImpl::breakPointCondition( QObject *o, int line ) const
344
return MetaDataBase::breakPointCondition( MainWindow::self->findRealObject( o ), line );
347
void DesignerProjectImpl::setBreakPointCondition( QObject *o, int line, const QString &condition )
349
MetaDataBase::setBreakPointCondition( MainWindow::self->findRealObject( o ), line, condition );
352
void DesignerProjectImpl::clearAllBreakpoints() const
354
QValueList<uint> empty;
355
for ( QPtrListIterator<SourceFile> sources = project->sourceFiles();
356
sources.current(); ++sources ) {
357
SourceFile* f = sources.current();
358
MetaDataBase::setBreakPoints( f, empty );
360
for ( QPtrListIterator<FormFile> forms = project->formFiles();
361
forms.current(); ++forms ) {
362
if ( forms.current()->formWindow() )
363
MetaDataBase::setBreakPoints( forms.current()->formWindow(), empty );
364
MainWindow::self->resetBreakPoints();
368
void DesignerProjectImpl::setIncludePath( const QString &platform, const QString &path )
370
project->setIncludePath( platform, path );
373
void DesignerProjectImpl::setLibs( const QString &platform, const QString &path )
375
project->setLibs( platform, path );
378
void DesignerProjectImpl::setDefines( const QString &platform, const QString &path )
380
project->setDefines( platform, path );
383
void DesignerProjectImpl::setConfig( const QString &platform, const QString &config )
385
project->setConfig( platform, config );
388
void DesignerProjectImpl::setTemplate( const QString &t )
390
project->setTemplate( t );
393
QString DesignerProjectImpl::config( const QString &platform ) const
395
return project->config( platform );
398
QString DesignerProjectImpl::libs( const QString &platform ) const
400
return project->libs( platform );
403
QString DesignerProjectImpl::defines( const QString &platform ) const
405
return project->defines( platform );
408
QString DesignerProjectImpl::includePath( const QString &platform ) const
410
return project->includePath( platform );
413
QString DesignerProjectImpl::templte() const
415
return project->templte();
418
bool DesignerProjectImpl::isGenericObject( QObject *o ) const
420
return !!project->fakeFormFileFor( o );
430
DesignerDatabaseImpl::DesignerDatabaseImpl( DatabaseConnection *d )
435
QString DesignerDatabaseImpl::name() const
440
void DesignerDatabaseImpl::setName( const QString & )
444
QString DesignerDatabaseImpl::driver() const
449
void DesignerDatabaseImpl::setDriver( const QString & )
453
QString DesignerDatabaseImpl::database() const
455
return db->database();
458
void DesignerDatabaseImpl::setDatabase( const QString & )
462
QString DesignerDatabaseImpl::userName() const
464
return db->username();
467
void DesignerDatabaseImpl::setUserName( const QString & )
471
QString DesignerDatabaseImpl::password() const
473
return db->password();
476
void DesignerDatabaseImpl::setPassword( const QString & )
480
QString DesignerDatabaseImpl::hostName() const
482
return db->hostname();
485
void DesignerDatabaseImpl::setHostName( const QString & )
489
QStringList DesignerDatabaseImpl::tables() const
494
QMap<QString, QStringList> DesignerDatabaseImpl::fields() const
499
void DesignerDatabaseImpl::open( bool suppressDialog ) const
501
db->open( suppressDialog );
504
void DesignerDatabaseImpl::close() const
509
void DesignerDatabaseImpl::setFields( const QMap<QString, QStringList> & )
513
void DesignerDatabaseImpl::setTables( const QStringList & )
517
QSqlDatabase* DesignerDatabaseImpl::connection()
519
return db->connection();
525
DesignerPixmapCollectionImpl::DesignerPixmapCollectionImpl( PixmapCollection *coll )
526
: pixCollection( coll )
530
void DesignerPixmapCollectionImpl::addPixmap( const QPixmap &p, const QString &name, bool force )
532
PixmapCollection::Pixmap pix;
535
pixCollection->addPixmap( pix, force );
536
FormWindow *fw = MainWindow::self->formWindow();
538
MetaDataBase::setPixmapKey( fw, p.serialNumber(), name );
541
QPixmap DesignerPixmapCollectionImpl::pixmap( const QString &name ) const
543
return pixCollection->pixmap( name );
548
DesignerFormWindowImpl::DesignerFormWindowImpl( FormWindow *fw )
553
QString DesignerFormWindowImpl::name() const
555
return formWindow->name();
558
void DesignerFormWindowImpl::setName( const QString &n )
560
formWindow->setName( n );
563
QString DesignerFormWindowImpl::fileName() const
565
return formWindow->fileName();
568
void DesignerFormWindowImpl::setFileName( const QString & )
572
void DesignerFormWindowImpl::save() const
576
bool DesignerFormWindowImpl::isModified() const
578
return formWindow->commandHistory()->isModified();
581
void DesignerFormWindowImpl::insertWidget( QWidget * )
585
QWidget *DesignerFormWindowImpl::create( const char *className, QWidget *parent, const char *name )
587
QWidget *w = WidgetFactory::create( WidgetDatabase::idFromClassName( className ), parent, name );
588
formWindow->insertWidget( w, TRUE );
589
formWindow->killAccels( formWindow->mainContainer() );
593
void DesignerFormWindowImpl::removeWidget( QWidget * )
597
QWidgetList DesignerFormWindowImpl::widgets() const
599
return QWidgetList();
602
void DesignerFormWindowImpl::undo()
606
void DesignerFormWindowImpl::redo()
610
void DesignerFormWindowImpl::cut()
614
void DesignerFormWindowImpl::copy()
618
void DesignerFormWindowImpl::paste()
622
void DesignerFormWindowImpl::adjustSize()
626
void DesignerFormWindowImpl::editConnections()
630
void DesignerFormWindowImpl::checkAccels()
634
void DesignerFormWindowImpl::layoutH()
636
formWindow->layoutHorizontal();
639
void DesignerFormWindowImpl::layoutV()
643
void DesignerFormWindowImpl::layoutHSplit()
647
void DesignerFormWindowImpl::layoutVSplit()
651
void DesignerFormWindowImpl::layoutG()
653
formWindow->layoutGrid();
656
void DesignerFormWindowImpl::layoutHContainer( QWidget* w )
658
formWindow->layoutHorizontalContainer( w );
661
void DesignerFormWindowImpl::layoutVContainer( QWidget* w )
663
formWindow->layoutVerticalContainer( w );
666
void DesignerFormWindowImpl::layoutGContainer( QWidget* w )
668
formWindow->layoutGridContainer( w );
671
void DesignerFormWindowImpl::breakLayout()
675
void DesignerFormWindowImpl::selectWidget( QWidget * w )
677
formWindow->selectWidget( w, TRUE );
680
void DesignerFormWindowImpl::selectAll()
684
void DesignerFormWindowImpl::clearSelection()
686
formWindow->clearSelection();
689
bool DesignerFormWindowImpl::isWidgetSelected( QWidget * ) const
694
QWidgetList DesignerFormWindowImpl::selectedWidgets() const
696
return formWindow->selectedWidgets();
699
QWidget *DesignerFormWindowImpl::currentWidget() const
701
return formWindow->currentWidget();
704
QWidget *DesignerFormWindowImpl::form() const
710
void DesignerFormWindowImpl::setCurrentWidget( QWidget * )
714
QPtrList<QAction> DesignerFormWindowImpl::actionList() const
716
return QPtrList<QAction>();
719
QAction *DesignerFormWindowImpl::createAction( const QString& text, const QIconSet& icon, const QString& menuText, int accel,
720
QObject* parent, const char* name, bool toggle )
722
QDesignerAction *a = new QDesignerAction( parent );
725
if ( !icon.isNull() && !icon.pixmap().isNull() )
726
a->setIconSet( icon );
727
a->setMenuText( menuText );
728
a->setAccel( accel );
729
a->setToggleAction( toggle );
733
void DesignerFormWindowImpl::addAction( QAction *a )
735
if ( formWindow->actionList().findRef( a ) != -1 )
737
formWindow->actionList().append( a );
738
MetaDataBase::addEntry( a );
739
setPropertyChanged( a, "name", TRUE );
740
setPropertyChanged( a, "text", TRUE );
741
setPropertyChanged( a, "menuText", TRUE );
742
setPropertyChanged( a, "accel", TRUE );
743
if ( !a->iconSet().isNull() && !a->iconSet().pixmap().isNull() )
744
setPropertyChanged( a, "iconSet", TRUE );
747
void DesignerFormWindowImpl::removeAction( QAction *a )
749
formWindow->actionList().removeRef( a );
752
void DesignerFormWindowImpl::preview() const
756
void DesignerFormWindowImpl::addConnection( QObject *sender, const char *signal, QObject *receiver, const char *slot )
758
MetaDataBase::addConnection( formWindow, sender, signal, receiver, slot );
761
void DesignerFormWindowImpl::addFunction( const QCString &function, const QString &specifier,
762
const QString &access, const QString &type,
763
const QString &language, const QString &returnType )
765
MetaDataBase::addFunction( formWindow, function, specifier, access, type, language, returnType );
766
formWindow->mainWindow()->functionsChanged();
771
void DesignerFormWindowImpl::setProperty( QObject *o, const char *property, const QVariant &value )
773
int id = o->metaObject()->findProperty( property, TRUE );
774
const QMetaProperty* p = o->metaObject()->property( id, TRUE );
775
if ( p && p->isValid() )
776
o->setProperty( property, value );
778
MetaDataBase::setFakeProperty( o, property, value );
781
QVariant DesignerFormWindowImpl::property( QObject *o, const char *prop ) const
783
int id = o->metaObject()->findProperty( prop, TRUE );
784
const QMetaProperty* p = o->metaObject()->property( id, TRUE );
785
if ( p && p->isValid() )
786
return o->property( prop );
787
return MetaDataBase::fakeProperty( o, prop );
790
void DesignerFormWindowImpl::setPropertyChanged( QObject *o, const char *property, bool changed )
792
MetaDataBase::setPropertyChanged( o, property, changed );
795
bool DesignerFormWindowImpl::isPropertyChanged( QObject *o, const char *property ) const
797
return MetaDataBase::isPropertyChanged( o, property );
800
void DesignerFormWindowImpl::setColumnFields( QObject *o, const QMap<QString, QString> &f )
802
MetaDataBase::setColumnFields( o, f );
805
QStringList DesignerFormWindowImpl::implementationIncludes() const
807
QValueList<MetaDataBase::Include> includes = MetaDataBase::includes( formWindow );
809
for ( QValueList<MetaDataBase::Include>::Iterator it = includes.begin(); it != includes.end(); ++it ) {
810
MetaDataBase::Include inc = *it;
811
if ( inc.implDecl != "in implementation" )
813
QString s = inc.header;
814
if ( inc.location == "global" ) {
826
QStringList DesignerFormWindowImpl::declarationIncludes() const
828
QValueList<MetaDataBase::Include> includes = MetaDataBase::includes( formWindow );
830
for ( QValueList<MetaDataBase::Include>::Iterator it = includes.begin(); it != includes.end(); ++it ) {
831
MetaDataBase::Include inc = *it;
832
if ( inc.implDecl == "in implementation" )
834
QString s = inc.header;
835
if ( inc.location == "global" ) {
847
void DesignerFormWindowImpl::setImplementationIncludes( const QStringList &lst )
849
QValueList<MetaDataBase::Include> oldIncludes = MetaDataBase::includes( formWindow );
850
QValueList<MetaDataBase::Include> includes;
851
for ( QValueList<MetaDataBase::Include>::Iterator it = oldIncludes.begin(); it != oldIncludes.end(); ++it ) {
852
MetaDataBase::Include inc = *it;
853
if ( inc.implDecl == "in implementation" )
858
for ( QStringList::ConstIterator sit = lst.begin(); sit != lst.end(); ++sit ) {
860
if ( s.startsWith( "#include" ) )
861
s.remove( (uint)0, 8 );
862
s = s.simplifyWhiteSpace();
863
if ( s[ 0 ] != '<' && s[ 0 ] != '"' ) {
867
if ( s[ 0 ] == '<' ) {
868
s.remove( (uint)0, 1 );
869
s.remove( s.length() - 1, 1 );
870
MetaDataBase::Include inc;
872
inc.implDecl = "in implementation";
873
inc.location = "global";
876
s.remove( (uint)0, 1 );
877
s.remove( s.length() - 1, 1 );
878
MetaDataBase::Include inc;
880
inc.implDecl = "in implementation";
881
inc.location = "local";
885
MetaDataBase::setIncludes( formWindow, includes );
886
formWindow->mainWindow()->objectHierarchy()->formDefinitionView()->setup();
889
void DesignerFormWindowImpl::setDeclarationIncludes( const QStringList &lst )
891
QValueList<MetaDataBase::Include> oldIncludes = MetaDataBase::includes( formWindow );
892
QValueList<MetaDataBase::Include> includes;
893
for ( QValueList<MetaDataBase::Include>::Iterator it = oldIncludes.begin(); it != oldIncludes.end(); ++it ) {
894
MetaDataBase::Include inc = *it;
895
if ( inc.implDecl == "in declaration" )
900
for ( QStringList::ConstIterator sit = lst.begin(); sit != lst.end(); ++sit ) {
902
if ( s.startsWith( "#include" ) )
903
s.remove( (uint)0, 8 );
904
s = s.simplifyWhiteSpace();
905
if ( s[ 0 ] != '<' && s[ 0 ] != '"' ) {
909
if ( s[ 0 ] == '<' ) {
910
s.remove( (uint)0, 1 );
911
s.remove( s.length() - 1, 1 );
912
MetaDataBase::Include inc;
914
inc.implDecl = "in declaration";
915
inc.location = "global";
918
s.remove( (uint)0, 1 );
919
s.remove( s.length() - 1, 1 );
920
MetaDataBase::Include inc;
922
inc.implDecl = "in declaration";
923
inc.location = "local";
927
MetaDataBase::setIncludes( formWindow, includes );
928
formWindow->mainWindow()->objectHierarchy()->formDefinitionView()->setup();
931
QStringList DesignerFormWindowImpl::forwardDeclarations() const
933
return MetaDataBase::forwards( formWindow );
936
void DesignerFormWindowImpl::setForwardDeclarations( const QStringList &lst )
938
MetaDataBase::setForwards( formWindow, lst );
939
formWindow->mainWindow()->objectHierarchy()->formDefinitionView()->setup();
942
QStringList DesignerFormWindowImpl::signalList() const
944
return MetaDataBase::signalList( formWindow );
947
void DesignerFormWindowImpl::setSignalList( const QStringList &lst )
949
MetaDataBase::setSignalList( formWindow, lst );
950
formWindow->mainWindow()->objectHierarchy()->formDefinitionView()->setup();
953
void DesignerFormWindowImpl::onModificationChange( QObject *receiver, const char *slot )
955
QObject::connect( formWindow, SIGNAL( modificationChanged( bool, FormWindow * ) ), receiver, slot );
958
void DesignerFormWindowImpl::addMenu( const QString &text, const QString &name )
960
if ( !::qt_cast<QMainWindow*>(formWindow->mainContainer()) )
963
QMainWindow *mw = (QMainWindow*)formWindow->mainContainer();
964
PopupMenuEditor *popup = new PopupMenuEditor( formWindow, mw );
966
formWindow->unify( popup, n, TRUE );
968
MenuBarEditor *mb = (MenuBarEditor *)mw->child( 0, "MenuBarEditor" );
970
mb = new MenuBarEditor( formWindow, mw );
971
mb->setName( "MenuBar" );
972
MetaDataBase::addEntry( mb );
974
mb->insertItem( text, popup );
975
MetaDataBase::addEntry( popup );
978
void DesignerFormWindowImpl::addMenuAction( const QString &menu, QAction *a )
980
if ( !::qt_cast<QMainWindow*>(formWindow->mainContainer()) )
982
QMainWindow *mw = (QMainWindow*)formWindow->mainContainer();
983
if ( !mw->child( 0, "MenuBarEditor" ) )
985
PopupMenuEditor *popup = (PopupMenuEditor*)mw->child( menu, "PopupMenuEditor" );
991
void DesignerFormWindowImpl::addMenuSeparator( const QString &menu )
993
if ( !::qt_cast<QMainWindow*>(formWindow->mainContainer()) )
995
QMainWindow *mw = (QMainWindow*)formWindow->mainContainer();
996
if ( !mw->child( 0, "MenuBarEditor" ) )
998
PopupMenuEditor *popup = (PopupMenuEditor*)mw->child( menu, "PopupMenuEditor" );
1001
QAction *a = new QSeparatorAction( 0 );
1005
void DesignerFormWindowImpl::addToolBar( const QString &text, const QString &name )
1007
if ( !::qt_cast<QMainWindow*>(formWindow->mainContainer()) )
1009
QMainWindow *mw = (QMainWindow*)formWindow->mainContainer();
1010
QToolBar *tb = new QDesignerToolBar( mw );
1012
formWindow->unify( tb, n, TRUE );
1014
mw->addToolBar( tb, text );
1017
void DesignerFormWindowImpl::addToolBarAction( const QString &tbn, QAction *a )
1019
if ( !::qt_cast<QMainWindow*>(formWindow->mainContainer()) )
1021
QMainWindow *mw = (QMainWindow*)formWindow->mainContainer();
1022
QDesignerToolBar *tb = (QDesignerToolBar*)mw->child( tbn, "QDesignerToolBar" );
1029
void DesignerFormWindowImpl::addToolBarSeparator( const QString &tbn )
1031
if ( !::qt_cast<QMainWindow*>(formWindow->mainContainer()) )
1033
QMainWindow *mw = (QMainWindow*)formWindow->mainContainer();
1034
QDesignerToolBar *tb = (QDesignerToolBar*)mw->child( tbn, "QDesignerToolBar" );
1037
QAction *a = new QSeparatorAction( 0 );
1042
DesignerDockImpl::DesignerDockImpl()
1046
QDockWindow *DesignerDockImpl::dockWindow() const
1051
DesignerOutputDockImpl::DesignerOutputDockImpl( OutputWindow *ow )
1056
QWidget *DesignerOutputDockImpl::addView( const QString &title )
1058
QWidget *page = new QWidget( outWin );
1059
outWin->addTab( page, title );
1063
void DesignerOutputDockImpl::appendDebug( const QString &s )
1065
outWin->appendDebug( s );
1068
void DesignerOutputDockImpl::clearDebug()
1072
void DesignerOutputDockImpl::appendError( const QString &s, int l )
1076
QValueList<uint> ll;
1078
outWin->setErrorMessages( ls, ll, FALSE, QStringList(), QObjectList() );
1081
void DesignerOutputDockImpl::clearError()
1085
DesignerSourceFileImpl::DesignerSourceFileImpl( SourceFile *e )
1090
QString DesignerSourceFileImpl::fileName() const
1092
return ed->fileName();