summaryrefslogtreecommitdiffstats
path: root/tools/designer/interfaces
diff options
context:
space:
mode:
authorTimothy Pearson <[email protected]>2011-07-10 15:24:15 -0500
committerTimothy Pearson <[email protected]>2011-07-10 15:24:15 -0500
commitbd0f3345a938b35ce6a12f6150373b0955b8dd12 (patch)
tree7a520322212d48ebcb9fbe1087e7fca28b76185c /tools/designer/interfaces
downloadqt3-bd0f3345a938b35ce6a12f6150373b0955b8dd12.tar.gz
qt3-bd0f3345a938b35ce6a12f6150373b0955b8dd12.zip
Add Qt3 development HEAD version
Diffstat (limited to 'tools/designer/interfaces')
-rw-r--r--tools/designer/interfaces/actioninterface.h85
-rw-r--r--tools/designer/interfaces/classbrowserinterface.h70
-rw-r--r--tools/designer/interfaces/designerinterface.h268
-rw-r--r--tools/designer/interfaces/editorinterface.h109
-rw-r--r--tools/designer/interfaces/filterinterface.h75
-rw-r--r--tools/designer/interfaces/interpreterinterface.h66
-rw-r--r--tools/designer/interfaces/languageinterface.h138
-rw-r--r--tools/designer/interfaces/preferenceinterface.h75
-rw-r--r--tools/designer/interfaces/projectsettingsiface.h76
-rw-r--r--tools/designer/interfaces/sourcetemplateiface.h72
-rw-r--r--tools/designer/interfaces/templatewizardiface.h67
-rw-r--r--tools/designer/interfaces/widgetinterface.h42
12 files changed, 1143 insertions, 0 deletions
diff --git a/tools/designer/interfaces/actioninterface.h b/tools/designer/interfaces/actioninterface.h
new file mode 100644
index 0000000..fc203b1
--- /dev/null
+++ b/tools/designer/interfaces/actioninterface.h
@@ -0,0 +1,85 @@
+ /**********************************************************************
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at [email protected].
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef ACTIONINTERFACE_H
+#define ACTIONINTERFACE_H
+
+#include <private/qcom_p.h>
+
+class QAction;
+class QObject;
+
+// {bb206e09-84e5-4777-9fce-706babfab931}
+#ifndef IID_Action
+#define IID_Action QUuid( 0xbb206e09, 0x84e5, 0x4777, 0x9f, 0xce, 0x70, 0x6b, 0xab, 0xfa, 0xb9, 0x31 )
+#endif
+
+/*! To add actions to the Qt Designer menubars and toolbars, implement
+ this interface. You have to implement the create(), group() and
+ connectTo() functions.
+
+ You also have to implement the function featureList() (\sa
+ QFeatureListInterface) to return the names of all actions
+ which this interface provides.
+*/
+
+class ActionInterface : public QFeatureListInterface
+{
+public:
+ enum Location {
+ Toolbar,
+ Menu
+ };
+
+ /*! This functions is called to create the action with the name \a
+ name. \a parent should be used as parent of the action.
+
+ In the implementation return the QAction object for the action
+ \a name.
+ */
+ virtual QAction* create( const QString &name, QObject* parent = 0 ) = 0;
+
+ /*! In the implementation of the interface return the name of the
+ group of the action \a name.
+ */
+ virtual QString group( const QString &name ) const = 0;
+
+ /*! In the implementation of the interface return whether the
+ action \a name should appear in the location \a l */
+ virtual bool location( const QString &name, Location l ) const = 0;
+
+ /*! \internal */
+ virtual void connectTo( QUnknownInterface *appInterface ) = 0;
+};
+
+#endif
diff --git a/tools/designer/interfaces/classbrowserinterface.h b/tools/designer/interfaces/classbrowserinterface.h
new file mode 100644
index 0000000..b97f2b9
--- /dev/null
+++ b/tools/designer/interfaces/classbrowserinterface.h
@@ -0,0 +1,70 @@
+ /**********************************************************************
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at [email protected].
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef CLASSBROWSERINTERFACE_H
+#define CLASSBROWSERINTERFACE_H
+
+//
+// W A R N I N G -- PRIVATE INTERFACES
+// --------------------------------------
+//
+// This file and the interfaces declared in the file are not
+// public. It exists for internal purpose. This header file and
+// interfaces may change from version to version (even binary
+// incompatible) without notice, or even be removed.
+//
+// We mean it.
+//
+//
+
+#include <private/qcom_p.h>
+#include <qobject.h>
+class QListView;
+
+// {4ede3c32-ae96-4b7a-9e38-9f1d93592391}
+#ifndef IID_ClassBrowser
+#define IID_ClassBrowser QUuid( 0x4ede3c32, 0xae96, 0x4b7a, 0x9e, 0x38, 0x9f, 0x1d, 0x93, 0x59, 0x23, 0x91 )
+#endif
+
+struct ClassBrowserInterface : public QUnknownInterface
+{
+ enum Type { Class, Function };
+
+ virtual QListView *createClassBrowser( QWidget *parent ) const = 0;
+ virtual void update( const QString &code ) const = 0;
+ virtual void clear() const = 0;
+
+ virtual void onClick( QObject *receiver, const char *slot ) = 0;
+};
+
+#endif
diff --git a/tools/designer/interfaces/designerinterface.h b/tools/designer/interfaces/designerinterface.h
new file mode 100644
index 0000000..8988da0
--- /dev/null
+++ b/tools/designer/interfaces/designerinterface.h
@@ -0,0 +1,268 @@
+ /**********************************************************************
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at [email protected].
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef DESIGNERINTERFACE_H
+#define DESIGNERINTERFACE_H
+
+//
+// W A R N I N G -- PRIVATE INTERFACES
+// --------------------------------------
+//
+// This file and the interfaces declared in the file are not
+// public. It exists for internal purpose. This header file and
+// interfaces may change from version to version (even binary
+// incompatible) without notice, or even be removed.
+//
+// We mean it.
+//
+//
+
+#include <private/qcom_p.h>
+#include <qptrlist.h>
+#include <qstring.h>
+#include <qmap.h>
+#include <qstringlist.h>
+#include <qwidgetlist.h>
+#include <qobjectlist.h>
+
+struct DesignerProject;
+struct DesignerDatabase;
+struct DesignerFormWindow;
+struct DesignerDock;
+struct DesignerOutputDock;
+struct DesignerOutput;
+struct DesignerOutputError;
+struct DesignerPixmapCollection;
+struct DesignerSourceFile;
+
+class QDockWindow;
+class QWidget;
+class QObject;
+class QAction;
+class QIconSet;
+class QSqlDatabase;
+
+// {0e661da-f45c-4830-af47-03ec53eb1633}
+#ifndef IID_Designer
+#define IID_Designer QUuid( 0xa0e661da, 0xf45c, 0x4830, 0xaf, 0x47, 0x3, 0xec, 0x53, 0xeb, 0x16, 0x33 )
+#endif
+
+/*! These are the interfaces implemented by the Qt Designer which should
+ be used by plugins to access and use functionality of the Qt Designer.
+*/
+
+struct DesignerInterface : public QUnknownInterface
+{
+ virtual DesignerProject *currentProject() const = 0;
+ virtual DesignerFormWindow *currentForm() const = 0;
+ virtual DesignerSourceFile *currentSourceFile() const = 0;
+ virtual QPtrList<DesignerProject> projectList() const = 0;
+ virtual void showStatusMessage( const QString &, int ms = 0 ) const = 0;
+ virtual DesignerDock *createDock() const = 0;
+ virtual DesignerOutputDock *outputDock() const = 0;
+ virtual void setModified( bool b, QWidget *window ) = 0;
+ virtual void updateFunctionList() = 0;
+
+ virtual void onProjectChange( QObject *receiver, const char *slot ) = 0;
+ virtual void onFormChange( QObject *receiver, const char *slot ) = 0;
+
+ virtual bool singleProjectMode() const = 0;
+ virtual void showError( QWidget *widget, int line, const QString &message ) = 0;
+ virtual void runFinished() = 0;
+ virtual void showStackFrame( QWidget *w, int line ) = 0;
+ virtual void showDebugStep( QWidget *w, int line ) = 0;
+ virtual void runProjectPrecondition() = 0;
+ virtual void runProjectPostcondition( QObjectList *l ) = 0;
+
+ };
+
+struct DesignerProject
+{
+ virtual QPtrList<DesignerFormWindow> formList() const = 0;
+ virtual QStringList formNames() const = 0;
+ virtual QString formFileName( const QString &form ) const = 0;
+ virtual void addForm( DesignerFormWindow * ) = 0;
+ virtual void removeForm( DesignerFormWindow * ) = 0;
+ virtual QString fileName() const = 0;
+ virtual void setFileName( const QString & ) = 0;
+ virtual QString projectName() const = 0;
+ virtual void setProjectName( const QString & ) = 0;
+ virtual QString databaseFile() const = 0;
+ virtual void setDatabaseFile( const QString & ) = 0;
+ virtual void setupDatabases() const = 0;
+ virtual QPtrList<DesignerDatabase> databaseConnections() const = 0;
+ virtual void addDatabase( DesignerDatabase * ) = 0;
+ virtual void removeDatabase( DesignerDatabase * ) = 0;
+ virtual void save() const = 0;
+ virtual void setLanguage( const QString & ) = 0;
+ virtual QString language() const = 0;
+ virtual void setCustomSetting( const QString &key, const QString &value ) = 0;
+ virtual QString customSetting( const QString &key ) const = 0;
+ virtual DesignerPixmapCollection *pixmapCollection() const = 0;
+ virtual void breakPoints( QMap<QString, QValueList<uint> > &bps ) const = 0;
+ virtual QString breakPointCondition( QObject *o, int line ) const = 0;
+ virtual void setBreakPointCondition( QObject *o, int line, const QString &condition ) = 0;
+ virtual void clearAllBreakpoints() const = 0;
+ virtual void setIncludePath( const QString &platform, const QString &path ) = 0;
+ virtual void setLibs( const QString &platform, const QString &path ) = 0;
+ virtual void setDefines( const QString &platform, const QString &path ) = 0;
+ virtual void setConfig( const QString &platform, const QString &config ) = 0;
+ virtual void setTemplate( const QString &t ) = 0;
+ virtual QString config( const QString &platform ) const = 0;
+ virtual QString libs( const QString &platform ) const = 0;
+ virtual QString defines( const QString &platform ) const = 0;
+ virtual QString includePath( const QString &platform ) const = 0;
+ virtual QString templte() const = 0;
+ virtual bool isGenericObject( QObject *o ) const = 0;
+
+};
+
+struct DesignerDatabase
+{
+ virtual QString name() const = 0;
+ virtual void setName( const QString & ) = 0;
+ virtual QString driver() const = 0;
+ virtual void setDriver( const QString & ) = 0;
+ virtual QString database() const = 0;
+ virtual void setDatabase( const QString & ) = 0;
+ virtual QString userName() const = 0;
+ virtual void setUserName( const QString & ) = 0;
+ virtual QString password() const = 0;
+ virtual void setPassword( const QString & ) = 0;
+ virtual QString hostName() const = 0;
+ virtual void setHostName( const QString & ) = 0;
+ virtual QStringList tables() const = 0;
+ virtual void setTables( const QStringList & ) = 0;
+ virtual QMap<QString, QStringList> fields() const = 0;
+ virtual void setFields( const QMap<QString, QStringList> & ) = 0;
+ virtual void open( bool suppressDialog = FALSE ) const = 0;
+ virtual void close() const = 0;
+ virtual QSqlDatabase* connection() = 0;
+
+};
+
+struct DesignerPixmapCollection
+{
+ virtual void addPixmap( const QPixmap &p, const QString &name, bool force ) = 0;
+ virtual QPixmap pixmap( const QString &name ) const = 0;
+};
+
+struct DesignerFormWindow
+{
+ virtual QString name() const = 0;
+ virtual void setName( const QString &n ) = 0;
+ virtual QString fileName() const = 0;
+ virtual void setFileName( const QString & ) = 0;
+ virtual void save() const = 0;
+ virtual bool isModified() const = 0;
+ virtual void insertWidget( QWidget * ) = 0;
+ virtual void removeWidget( QWidget * ) = 0;
+ virtual QWidget *create( const char *className, QWidget *parent, const char *name ) = 0;
+ virtual QWidgetList widgets() const = 0;
+ virtual void undo() = 0;
+ virtual void redo() = 0;
+ virtual void cut() = 0;
+ virtual void copy() = 0;
+ virtual void paste() = 0;
+ virtual void adjustSize() = 0;
+ virtual void editConnections() = 0;
+ virtual void checkAccels() = 0;
+ virtual void layoutH() = 0;
+ virtual void layoutV() = 0;
+ virtual void layoutHSplit() = 0;
+ virtual void layoutVSplit() = 0;
+ virtual void layoutG() = 0;
+ virtual void layoutHContainer( QWidget* w ) = 0;
+ virtual void layoutVContainer( QWidget* w ) = 0;
+ virtual void layoutGContainer( QWidget* w ) = 0;
+ virtual void breakLayout() = 0;
+ virtual void selectWidget( QWidget * w ) = 0;
+ virtual void selectAll() = 0;
+ virtual void clearSelection() = 0;
+ virtual bool isWidgetSelected( QWidget * ) const = 0;
+ virtual QWidgetList selectedWidgets() const = 0;
+ virtual QWidget *currentWidget() const = 0;
+ virtual QWidget *form() const = 0;
+ virtual void setCurrentWidget( QWidget * ) = 0;
+ virtual QPtrList<QAction> actionList() const = 0;
+ virtual QAction *createAction( const QString& text, const QIconSet& icon, const QString& menuText, int accel,
+ QObject* parent, const char* name = 0, bool toggle = FALSE ) = 0;
+ virtual void addAction( QAction * ) = 0;
+ virtual void removeAction( QAction * ) = 0;
+ virtual void preview() const = 0;
+ virtual void addFunction( const QCString &slot, const QString &specifier, const QString &access,
+ const QString &type, const QString &language, const QString &returnType ) = 0;
+ virtual void addConnection( QObject *sender, const char *signal, QObject *receiver, const char *slot ) = 0;
+ virtual void setProperty( QObject *o, const char *property, const QVariant &value ) = 0;
+ virtual QVariant property( QObject *o, const char *property ) const = 0;
+ virtual void setPropertyChanged( QObject *o, const char *property, bool changed ) = 0;
+ virtual bool isPropertyChanged( QObject *o, const char *property ) const = 0;
+ virtual void setColumnFields( QObject *o, const QMap<QString, QString> & ) = 0;
+ virtual QStringList implementationIncludes() const = 0;
+ virtual QStringList declarationIncludes() const = 0;
+ virtual void setImplementationIncludes( const QStringList &lst ) = 0;
+ virtual void setDeclarationIncludes( const QStringList &lst ) = 0;
+ virtual QStringList forwardDeclarations() const = 0;
+ virtual void setForwardDeclarations( const QStringList &lst ) = 0;
+ virtual QStringList signalList() const = 0;
+ virtual void setSignalList( const QStringList &lst ) = 0;
+ virtual void addMenu( const QString &text, const QString &name ) = 0;
+ virtual void addMenuAction( const QString &menu, QAction *a ) = 0;
+ virtual void addMenuSeparator( const QString &menu ) = 0;
+ virtual void addToolBar( const QString &text, const QString &name ) = 0;
+ virtual void addToolBarAction( const QString &tb, QAction *a ) = 0;
+ virtual void addToolBarSeparator( const QString &tb ) = 0;
+
+ virtual void onModificationChange( QObject *receiver, const char *slot ) = 0;
+};
+
+struct DesignerSourceFile
+{
+ virtual QString fileName() const = 0;
+};
+
+struct DesignerDock
+{
+ virtual QDockWindow *dockWindow() const = 0;
+};
+
+struct DesignerOutputDock
+{
+ virtual QWidget *addView( const QString &pageName ) = 0;
+ virtual void appendDebug( const QString & ) = 0;
+ virtual void clearDebug() = 0;
+ virtual void appendError( const QString &, int ) = 0;
+ virtual void clearError() = 0;
+};
+
+#endif
diff --git a/tools/designer/interfaces/editorinterface.h b/tools/designer/interfaces/editorinterface.h
new file mode 100644
index 0000000..4c3cb7d
--- /dev/null
+++ b/tools/designer/interfaces/editorinterface.h
@@ -0,0 +1,109 @@
+ /**********************************************************************
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at [email protected].
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef EDITORINTERFACE_H
+#define EDITORINTERFACE_H
+
+//
+// W A R N I N G -- PRIVATE INTERFACES
+// --------------------------------------
+//
+// This file and the interfaces declared in the file are not
+// public. It exists for internal purpose. This header file and
+// interfaces may change from version to version (even binary
+// incompatible) without notice, or even be removed.
+//
+// We mean it.
+//
+//
+
+#include <private/qcom_p.h>
+#include <qmap.h>
+#include <qvaluelist.h>
+
+class QWidget;
+class QObjectList;
+class QObject;
+
+// {8668161a-6037-4220-86b6-ccaa20127df8}
+#ifndef IID_Editor
+#define IID_Editor QUuid( 0x8668161a, 0x6037, 0x4220, 0x86, 0xb6, 0xcc, 0xaa, 0x20, 0x12, 0x7d, 0xf8 )
+#endif
+
+struct EditorInterface : public QUnknownInterface
+{
+ enum Mode
+ {
+ Editing,
+ Debugging
+ };
+
+ virtual QWidget *editor( bool readOnly,
+ QWidget *parent,
+ QUnknownInterface *designerIface ) = 0;
+
+ virtual void setText( const QString &txt ) = 0;
+ virtual QString text() const = 0;
+ virtual bool isUndoAvailable() const = 0;
+ virtual bool isRedoAvailable() const = 0;
+ virtual void undo() = 0;
+ virtual void redo() = 0;
+ virtual void cut() = 0;
+ virtual void copy() = 0;
+ virtual void paste() = 0;
+ virtual void selectAll() = 0;
+ virtual bool find( const QString &expr, bool cs, bool wo, bool forward, bool startAtCursor ) = 0;
+ virtual bool replace( const QString &find, const QString &replace, bool cs, bool wo, bool forward, bool startAtCursor, bool replaceAll ) = 0;
+ virtual void gotoLine( int line ) = 0;
+ virtual void indent() = 0;
+ virtual void scrollTo( const QString &txt, const QString &first ) = 0;
+ virtual void splitView() = 0;
+ virtual void setContext( QObject *this_ ) = 0;
+ virtual void setError( int line ) = 0;
+ virtual void setStep( int line ) = 0;
+ virtual void setStackFrame( int line ) = 0;
+ virtual void clearStep() = 0;
+ virtual void clearStackFrame() = 0;
+ virtual void readSettings() = 0;
+ virtual void setModified( bool m ) = 0;
+ virtual bool isModified() const = 0;
+ virtual int numLines() const = 0;
+ virtual void breakPoints( QValueList<uint> &l ) const = 0;
+ virtual void setBreakPoints( const QValueList<uint> &l ) = 0;
+ virtual void setMode( Mode m ) = 0;
+
+ virtual void onBreakPointChange( QObject *receiver, const char *slot ) = 0;
+
+};
+
+#endif
diff --git a/tools/designer/interfaces/filterinterface.h b/tools/designer/interfaces/filterinterface.h
new file mode 100644
index 0000000..8c7ab2e
--- /dev/null
+++ b/tools/designer/interfaces/filterinterface.h
@@ -0,0 +1,75 @@
+ /**********************************************************************
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at [email protected].
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef FILTERINTERFACE_H
+#define FILTERINTERFACE_H
+
+#include <private/qcom_p.h>
+
+// {ea8cb381-59b5-44a8-bae5-9bea8295762a}
+#ifndef IID_ImportFilter
+#define IID_ImportFilter QUuid( 0xea8cb381, 0x59b5, 0x44a8, 0xba, 0xe5, 0x9b, 0xea, 0x82, 0x95, 0x76, 0x2a )
+#endif
+
+/*! If you write a filter plugin to import dialogs or other user
+ interfaces from a different format than .ui into the Qt Designer,
+ implement this interface in that plugin.
+
+ You also have to implement the function featureList() (\sa
+ QFeatureListInterface) and return there all filters (names of it)
+ which this interface provides.
+*/
+
+struct ImportFilterInterface : public QFeatureListInterface
+{
+ /*! This function is called by Qt Designer to open the file \a
+ filename using the filter \a filter. Qt Designer expects to get
+ back one or more .ui files, which it can open then. In the
+ implementation of the interface you have to return these
+ filenames, which the filter created, in this function.*/
+ virtual QStringList import( const QString &filter, const QString &filename ) = 0;
+};
+
+// *************** INTERNAL *************************
+
+// {c32a07e0-b006-471e-afca-d227457a1280}
+#ifndef IID_ExportFilterInterface
+#define IID_ExportFilterInterface QUuid( 0xc32a07e0, 0xb006, 0x471e, 0xaf, 0xca, 0xd2, 0x27, 0x45, 0x7a, 0x12, 0x80 )
+#endif
+
+struct ExportFilterInterface : public QFeatureListInterface
+{
+// virtual QStringList export( const QString& filter, const QString& filename ) = 0;
+};
+
+#endif
diff --git a/tools/designer/interfaces/interpreterinterface.h b/tools/designer/interfaces/interpreterinterface.h
new file mode 100644
index 0000000..dbda2f0
--- /dev/null
+++ b/tools/designer/interfaces/interpreterinterface.h
@@ -0,0 +1,66 @@
+ /**********************************************************************
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at [email protected].
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef INTERPRETERINTERFACE_H
+#define INTERPRETERINTERFACE_H
+
+//
+// W A R N I N G -- PRIVATE INTERFACES
+// --------------------------------------
+//
+// This file and the interfaces declared in the file are not
+// public. It exists for internal purpose. This header file and
+// interfaces may change from version to version (even binary
+// incompatible) without notice, or even be removed.
+//
+// We mean it.
+//
+//
+
+#include <private/qcom_p.h>
+
+class QObject;
+
+// {11cad9ec-4e3c-418b-8e90-e1b8c0c1f48f}
+#ifndef IID_Interpreter
+#define IID_Interpreter QUuid( 0x11cad9ec, 0x4e3c, 0x418b, 0x8e, 0x90, 0xe1, 0xb8, 0xc0, 0xc1, 0xf4, 0x8f )
+#endif
+
+struct InterpreterInterface : public QUnknownInterface
+{
+ virtual void setBreakPoints( QObject *obj, const QValueList<uint> &lst ) = 0;
+};
+
+
+
+#endif
diff --git a/tools/designer/interfaces/languageinterface.h b/tools/designer/interfaces/languageinterface.h
new file mode 100644
index 0000000..acb5e89
--- /dev/null
+++ b/tools/designer/interfaces/languageinterface.h
@@ -0,0 +1,138 @@
+ /**********************************************************************
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at [email protected].
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef LANGUAGEINTERFACE_H
+#define LANGUAGEINTERFACE_H
+
+//
+// W A R N I N G -- PRIVATE INTERFACES
+// --------------------------------------
+//
+// This file and the interfaces declared in the file are not
+// public. It exists for internal purpose. This header file and
+// interfaces may change from version to version (even binary
+// incompatible) without notice, or even be removed.
+//
+// We mean it.
+//
+//
+
+#include <private/qcom_p.h>
+#include <qvaluelist.h>
+#include <qstringlist.h>
+#include <qmap.h>
+#include <qstrlist.h>
+
+// {f208499a-6f69-4883-9219-6e936e55a330}
+#ifndef IID_Language
+#define IID_Language QUuid( 0xf208499a, 0x6f69, 0x4883, 0x92, 0x19, 0x6e, 0x93, 0x6e, 0x55, 0xa3, 0x30 )
+#endif
+
+struct LanguageInterface : public QUnknownInterface
+{
+ struct Function
+ {
+ QString name;
+ QString body;
+ QString returnType;
+ QString comments;
+ int start;
+ int end;
+ QString access;
+ bool operator==( const Function &f ) const {
+ return ( name == f.name &&
+ body == f.body &&
+ returnType == f.returnType &&
+ comments == f.comments );
+ }
+ };
+
+ struct Connection
+ {
+ QString sender;
+ QString signal;
+ QString slot;
+ bool operator==( const Connection &c ) const {
+ return ( sender == c.sender &&
+ signal == c.signal &&
+ slot == c.slot );
+ }
+ };
+
+ enum Support
+ {
+ ReturnType,
+ ConnectionsToCustomSlots,
+ CompressProject
+ };
+
+ virtual void functions( const QString &code, QValueList<Function> *funcs ) const = 0;
+ virtual void connections( const QString &code, QValueList<Connection> *connections ) const = 0;
+ virtual QString createFunctionStart( const QString &className, const QString &func,
+ const QString &returnType, const QString &access ) = 0;
+ virtual QString createArguments( const QString &cpp_signature ) = 0;
+ virtual QString createEmptyFunction() = 0;
+ virtual QStringList definitions() const = 0;
+ virtual QStringList definitionEntries( const QString &definition, QUnknownInterface *designerIface ) const = 0;
+ virtual void setDefinitionEntries( const QString &definition, const QStringList &entries, QUnknownInterface *designerIface ) = 0;
+ virtual bool supports( Support s ) const = 0;
+ virtual QStringList fileFilterList() const = 0;
+ virtual QStringList fileExtensionList() const = 0;
+ virtual void preferedExtensions( QMap<QString, QString> &extensionMap ) const = 0;
+ virtual QString projectKeyForExtension( const QString &extension ) const = 0;
+ virtual void sourceProjectKeys( QStringList &keys ) const = 0;
+ virtual QString cleanSignature( const QString &sig ) = 0;
+ virtual void loadFormCode( const QString &form, const QString &filename,
+ QValueList<Function> &functions,
+ QStringList &vars,
+ QValueList<Connection> &connections ) = 0;
+ virtual QString formCodeExtension() const = 0;
+
+ virtual bool canConnect( const QString &signal, const QString &slot ) = 0;
+
+ virtual void compressProject( const QString &projectFile, const QString &compressedFile,
+ bool withWarning ) = 0;
+ virtual QString uncompressProject( const QString &projectFile, const QString &destDir ) = 0;
+ virtual QString aboutText() const = 0;
+
+ virtual void addConnection( const QString &sender, const QString &signal,
+ const QString &receiver, const QString &slot,
+ QString *code ) = 0;
+ virtual void removeConnection( const QString &sender, const QString &signal,
+ const QString &receiver, const QString &slot,
+ QString *code ) = 0;
+ virtual QStrList signalNames( QObject *obj ) const = 0;
+
+};
+
+#endif
diff --git a/tools/designer/interfaces/preferenceinterface.h b/tools/designer/interfaces/preferenceinterface.h
new file mode 100644
index 0000000..aa8b84e
--- /dev/null
+++ b/tools/designer/interfaces/preferenceinterface.h
@@ -0,0 +1,75 @@
+ /**********************************************************************
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at [email protected].
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef PREFERENCEINTERFACE_H
+#define PREFERENCEINTERFACE_H
+
+//
+// W A R N I N G -- PRIVATE INTERFACES
+// --------------------------------------
+//
+// This file and the interfaces declared in the file are not
+// public. It exists for internal purpose. This header file and
+// interfaces may change from version to version (even binary
+// incompatible) without notice, or even be removed.
+//
+// We mean it.
+//
+//
+
+#include <private/qcom_p.h>
+#include <qwidgetlist.h>
+#include <qcstring.h>
+
+// {5c168ee7-4bee-469f-9995-6afdb04ce5a2}
+#ifndef IID_Preference
+#define IID_Preference QUuid( 0x5c168ee7, 0x4bee, 0x469f, 0x99, 0x95, 0x6a, 0xfd, 0xb0, 0x4c, 0xe5, 0xa2 )
+#endif
+
+struct PreferenceInterface : public QUnknownInterface
+{
+ struct Preference
+ {
+ QWidget *tab;
+ QString title;
+ QObject *receiver;
+ const char *init_slot;
+ const char *accept_slot;
+ };
+
+ virtual Preference *preference() = 0;
+ virtual void connectTo( QUnknownInterface *appInterface ) = 0;
+ virtual void deletePreferenceObject( Preference * ) = 0;
+};
+
+#endif
diff --git a/tools/designer/interfaces/projectsettingsiface.h b/tools/designer/interfaces/projectsettingsiface.h
new file mode 100644
index 0000000..5e814c6
--- /dev/null
+++ b/tools/designer/interfaces/projectsettingsiface.h
@@ -0,0 +1,76 @@
+ /**********************************************************************
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at [email protected].
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef PROJECTSETTINGSIFACE_H
+#define PROJECTSETTINGSIFACE_H
+
+//
+// W A R N I N G -- PRIVATE INTERFACES
+// --------------------------------------
+//
+// This file and the interfaces declared in the file are not
+// public. It exists for internal purpose. This header file and
+// interfaces may change from version to version (even binary
+// incompatible) without notice, or even be removed.
+//
+// We mean it.
+//
+//
+
+#include <private/qcom_p.h>
+#include <qwidgetlist.h>
+#include <qcstring.h>
+
+// {d332785d-17fb-4894-84fe-50dbd0ad9512}
+#ifndef IID_ProjectSettings
+#define IID_ProjectSettings QUuid( 0xd332785d, 0x17fb, 0x4894, 0x84, 0xfe, 0x50, 0xdb, 0xd0, 0xad, 0x95, 0x12 )
+#endif
+
+struct ProjectSettingsInterface : public QUnknownInterface
+{
+ struct ProjectSettings
+ {
+ QWidget *tab;
+ QString title;
+ QObject *receiver;
+ const char *init_slot;
+ const char *accept_slot;
+ };
+
+ virtual ProjectSettings *projectSetting() = 0;
+ virtual QStringList projectSettings() const = 0;
+ virtual void connectTo( QUnknownInterface *appInterface ) = 0;
+ virtual void deleteProjectSettingsObject( ProjectSettings * ) = 0;
+};
+
+#endif
diff --git a/tools/designer/interfaces/sourcetemplateiface.h b/tools/designer/interfaces/sourcetemplateiface.h
new file mode 100644
index 0000000..01a5e75
--- /dev/null
+++ b/tools/designer/interfaces/sourcetemplateiface.h
@@ -0,0 +1,72 @@
+ /**********************************************************************
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at [email protected].
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef SOURCETEMPLATEIFACE_H
+#define SOURCETEMPLATEIFACE_H
+
+//
+// W A R N I N G -- PRIVATE INTERFACES
+// --------------------------------------
+//
+// This file and the interfaces declared in the file are not
+// public. It exists for internal purpose. This header file and
+// interfaces may change from version to version (even binary
+// incompatible) without notice, or even be removed.
+//
+// We mean it.
+//
+//
+
+#include <private/qcom_p.h>
+#include <qstring.h>
+
+// {1b3446a4-1c71-424b-8789-1f34eb5697d8}
+#ifndef IID_SourceTemplate
+#define IID_SourceTemplate QUuid( 0x1b3446a4, 0x1c71, 0x424b, 0x87, 0x89, 0x1f, 0x34, 0xeb, 0x56, 0x97, 0xd8 )
+#endif
+
+struct SourceTemplateInterface : public QFeatureListInterface
+{
+ struct Source
+ {
+ QString code;
+ enum Type { FileName, Unnamed, Invalid } type;
+ QString filename;
+ QString extension;
+ };
+ virtual Source create( const QString &templ, QUnknownInterface *appIface ) = 0;
+ virtual QString language( const QString &templ ) const = 0;
+
+};
+
+#endif
diff --git a/tools/designer/interfaces/templatewizardiface.h b/tools/designer/interfaces/templatewizardiface.h
new file mode 100644
index 0000000..5a89293
--- /dev/null
+++ b/tools/designer/interfaces/templatewizardiface.h
@@ -0,0 +1,67 @@
+ /**********************************************************************
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at [email protected].
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef TEMPLATEWIZARDIFACE_H
+#define TEMPLATEWIZARDIFACE_H
+
+//
+// W A R N I N G -- PRIVATE INTERFACES
+// --------------------------------------
+//
+// This file and the interfaces declared in the file are not
+// public. It exists for internal purpose. This header file and
+// interfaces may change from version to version (even binary
+// incompatible) without notice, or even be removed.
+//
+// We mean it.
+//
+//
+
+#include <private/qcom_p.h>
+
+class QWidget;
+struct DesignerFormWindow;
+
+// {983d3eab-fea3-49cc-97ad-d8cc89b7c17b}
+#ifndef IID_TemplateWizard
+#define IID_TemplateWizard QUuid( 0x983d3eab, 0xfea3, 0x49cc, 0x97, 0xad, 0xd8, 0xcc, 0x89, 0xb7, 0xc1, 0x7b )
+#endif
+
+class TemplateWizardInterface : public QFeatureListInterface
+{
+public:
+ virtual void setup( const QString &templ, QWidget *widget, DesignerFormWindow *fw, QUnknownInterface *appIface ) = 0;
+
+};
+
+#endif
diff --git a/tools/designer/interfaces/widgetinterface.h b/tools/designer/interfaces/widgetinterface.h
new file mode 100644
index 0000000..9a0682a
--- /dev/null
+++ b/tools/designer/interfaces/widgetinterface.h
@@ -0,0 +1,42 @@
+ /**********************************************************************
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at [email protected].
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef WIDGETINTERFACE_H
+#define WIDGETINTERFACE_H
+
+#include <private/qwidgetinterface_p.h>
+
+#define WidgetInterface QWidgetFactoryInterface
+#define IID_Widget IID_QWidgetFactory
+
+#endif