1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
/****************************************************************************
**
** Copyright (C) 2006-2009 fullmetalcoder <fullmetalcoder@hotmail.fr>
**
** This file is part of the Edyuk project <http://edyuk.org>
**
** This file may be used under the terms of the GNU General Public License
** version 3 as published by the Free Software Foundation and appearing in the
** file GPL.txt 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.
**
****************************************************************************/
#ifndef _QEDITOR_FACTORY_H_
#define _QEDITOR_FACTORY_H_
#include "mostQtHeaders.h"
#include "qce-config.h"
/*!
\file qeditorfactory.h
\brief Definition of the QEditorFactory class
*/
#ifdef _QSAFE_SHARED_SETTINGS_
#ifndef _QMDI_
#define Q_EDITOR_FACTORY_BASE QObject
#define Q_EDITOR_FACTORY_EMIT(client)
#else
#include "qmdiclientfactory.h"
#define Q_EDITOR_FACTORY_BASE qmdiClientFactory
#define Q_EDITOR_FACTORY_EMIT(client) emit clientCreated(client);
#endif
#include "qsettingsclient.h"
class QEditor;
class QCodeEdit;
class QFormatScheme;
class QLanguageFactory;
class QCodeCompletionEngine;
class QLanguageDefinition;
class QEditorConfiguration;
class QCE_EXPORT QEditorFactory : public Q_EDITOR_FACTORY_BASE, public QSettingsClient
{
Q_OBJECT
public:
QEditorFactory(QSettingsServer *s);
virtual ~QEditorFactory();
inline QFormatScheme* defaultFormatScheme() const
{ return m_defaultScheme; }
inline QLanguageFactory* languageFactory() const
{ return m_languageFactory; }
virtual qmdiClient* createClient(const QString& filename) const;
QCodeEdit* editor( const QString& file,
const QString& layout = QString()) const;
QCodeEdit* editor( const QString& file,
QLanguageDefinition *l,
QFormatScheme *s = 0,
QCodeCompletionEngine *e = 0,
const QString& layout = QString()) const;
QString defaultLayout() const;
QString layout(const QString& alias) const;
void registerLayout(const QString& alias, const QString& layout);
QSettingsClient settings(const QString& alias);
signals:
void fileSaved(const QString& f);
private slots:
void saved(QEditor *e, const QString& f);
void loaded(QEditor *e, const QString& f);
private:
QEditorConfiguration *m_config;
QFormatScheme *m_defaultScheme;
QLanguageFactory *m_languageFactory;
};
#endif // _QSAFE_SHARED_SETTINGS_
#endif // ! _QEDITOR_FACTORY_H_
|