/********************************************************************** ** Copyright (C) 2000-2001 Trolltech AS. All rights reserved. ** ** This file is part of TQt 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. ** ** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition ** licenses may use this file in accordance with the TQt Commercial License ** Agreement provided with the Software. ** ** 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. ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for ** information about TQt Commercial License Agreements. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #ifndef DESIGNERAPPIFACE_H #define DESIGNERAPPIFACE_H #include "../interfaces/designerinterface.h" #include "project.h" class FormWindow; class MainWindow; class Project; class OutputWindow; class SourceFile; class DesignerInterfaceImpl : public DesignerInterface { public: DesignerInterfaceImpl( MainWindow *mw ); DesignerProject *currentProject() const; DesignerFormWindow *currentForm() const; DesignerSourceFile *currentSourceFile() const; TQPtrList projectList() const; void showStatusMessage( const TQString &, int ms = 0 ) const; DesignerDock *createDock() const; DesignerOutputDock *outputDock() const; void setModified( bool b, TQWidget *window ); void updateFunctionList(); void onProjectChange( TQObject *receiver, const char *slot ); void onFormChange( TQObject *receiver, const char *slot ); bool singleProjectMode() const; void showError( TQWidget *widget, int line, const TQString &message ); void runFinished(); void showStackFrame( TQWidget *w, int line ); void showDebugStep( TQWidget *w, int line ); void runProjectPrecondition(); void runProjectPostcondition( TQObjectList *l ); TQRESULT queryInterface( const TQUuid &uuid, TQUnknownInterface** iface ); TQ_REFCOUNT private: MainWindow *mainWindow; }; class DesignerProjectImpl: public DesignerProject { public: DesignerProjectImpl( Project *pr ); TQPtrList formList() const; TQStringList formNames() const; TQString formFileName( const TQString &form ) const; void addForm( DesignerFormWindow * ); void removeForm( DesignerFormWindow * ); TQString fileName() const; void setFileName( const TQString & ); TQString projectName() const; void setProjectName( const TQString & ); TQString databaseFile() const; void setDatabaseFile( const TQString & ); void setupDatabases() const; TQPtrList databaseConnections() const; void addDatabase( DesignerDatabase * ); void removeDatabase( DesignerDatabase * ); void save() const; void setLanguage( const TQString & ); TQString language() const; void setCustomSetting( const TQString &key, const TQString &value ); TQString customSetting( const TQString &key ) const; DesignerPixmapCollection *pixmapCollection() const; void breakPoints( TQMap > &bps ) const; TQString breakPointCondition( TQObject *o, int line ) const; void setBreakPointCondition( TQObject *o, int line, const TQString &condition ); void clearAllBreakpoints() const; void setIncludePath( const TQString &platform, const TQString &path ); void setLibs( const TQString &platform, const TQString &path ); void setDefines( const TQString &platform, const TQString &path ); void setConfig( const TQString &platform, const TQString &config ); void setTemplate( const TQString &t ); TQString config( const TQString &platform ) const; TQString libs( const TQString &platform ) const; TQString defines( const TQString &platform ) const; TQString includePath( const TQString &platform ) const; TQString templte() const; bool isGenericObject( TQObject *o ) const; private: Project *project; }; #ifndef TQT_NO_SQL class TQSqlDatabase; class DesignerDatabaseImpl: public DesignerDatabase { public: DesignerDatabaseImpl( DatabaseConnection *d ); TQString name() const; void setName( const TQString & ); TQString driver() const; void setDriver( const TQString & ); TQString database() const; void setDatabase( const TQString & ); TQString userName() const; void setUserName( const TQString & ); TQString password() const; void setPassword( const TQString & ); TQString hostName() const; void setHostName( const TQString & ); TQStringList tables() const; void setTables( const TQStringList & ); TQMap fields() const; void setFields( const TQMap & ); void open( bool suppressDialog = TRUE ) const; void close() const; TQSqlDatabase* connection(); private: DatabaseConnection *db; }; #endif class DesignerPixmapCollectionImpl : public DesignerPixmapCollection { public: DesignerPixmapCollectionImpl( PixmapCollection *coll ); void addPixmap( const TQPixmap &p, const TQString &name, bool force ); TQPixmap pixmap( const TQString &name ) const; private: PixmapCollection *pixCollection; }; class DesignerFormWindowImpl: public DesignerFormWindow { public: DesignerFormWindowImpl( FormWindow *fw ); TQString name() const; void setName( const TQString &n ); TQString fileName() const; void setFileName( const TQString & ); void save() const; bool isModified() const; void insertWidget( TQWidget * ); TQWidget *create( const char *className, TQWidget *parent, const char *name ); void removeWidget( TQWidget * ); TQWidgetList widgets() const; void undo(); void redo(); void cut(); void copy(); void paste(); void adjustSize(); void editConnections(); void checkAccels(); void layoutH(); void layoutV(); void layoutHSplit(); void layoutVSplit(); void layoutG(); void layoutHContainer( TQWidget* w ); void layoutVContainer( TQWidget* w ); void layoutGContainer( TQWidget* w ); void breakLayout(); void selectWidget( TQWidget * ); void selectAll(); void clearSelection(); bool isWidgetSelected( TQWidget * ) const; TQWidgetList selectedWidgets() const; TQWidget *currentWidget() const; TQWidget *form() const; void setCurrentWidget( TQWidget * ); TQPtrList actionList() const; TQAction *createAction( const TQString& text, const TQIconSet& icon, const TQString& menuText, int accel, TQObject* parent, const char* name = 0, bool toggle = FALSE ); void addAction( TQAction * ); void removeAction( TQAction * ); void preview() const; void addFunction( const TQCString &function, const TQString& specifier, const TQString &access, const TQString &type, const TQString &language, const TQString &returnType ); void addConnection( TQObject *sender, const char *signal, TQObject *receiver, const char *slot ); void setProperty( TQObject *o, const char *property, const TQVariant &value ); TQVariant property( TQObject *o, const char *property ) const; void setPropertyChanged( TQObject *o, const char *property, bool changed ); bool isPropertyChanged( TQObject *o, const char *property ) const; void setColumnFields( TQObject *o, const TQMap & ); TQStringList implementationIncludes() const; TQStringList declarationIncludes() const; void setImplementationIncludes( const TQStringList &lst ); void setDeclarationIncludes( const TQStringList &lst ); TQStringList forwardDeclarations() const; void setForwardDeclarations( const TQStringList &lst ); TQStringList signalList() const; void setSignalList( const TQStringList &lst ); void addMenu( const TQString &text, const TQString &name ); void addMenuAction( const TQString &menu, TQAction *a ); void addMenuSeparator( const TQString &menu ); void addToolBar( const TQString &text, const TQString &name ); void addToolBarAction( const TQString &tb, TQAction *a ); void addToolBarSeparator( const TQString &tb ); void onModificationChange( TQObject *receiver, const char *slot ); private: FormWindow *formWindow; }; class DesignerDockImpl: public DesignerDock { public: DesignerDockImpl(); TQDockWindow *dockWindow() const; }; class DesignerOutputDockImpl: public DesignerOutputDock { public: DesignerOutputDockImpl( OutputWindow *ow ); TQWidget *addView( const TQString &pageName ); void appendDebug( const TQString & ); void clearDebug(); void appendError( const TQString &, int ); void clearError(); private: OutputWindow *outWin; }; class DesignerSourceFileImpl : public DesignerSourceFile { public: DesignerSourceFileImpl( SourceFile *e ); TQString fileName() const; private: SourceFile *ed; }; #endif