00001
00021
#ifndef KOMPOSER_CORE_H
00022
#define KOMPOSER_CORE_H
00023
00024
#include <kparts/mainwindow.h>
00025
#include <kparts/part.h>
00026
00027
#include <qptrlist.h>
00028
00029
namespace KParts {
00030
class PartManager;
00031 }
00032
class QWidgetStack;
00033
00034
namespace Komposer
00035 {
00036
00037
class Editor;
00038
00042 class Core :
public KParts::MainWindow
00043 {
00044 Q_OBJECT
00045
public:
00046
Core( QWidget *parentWidget = 0,
const char *name = 0 );
00047
virtual ~
Core();
00048
00053
virtual void selectEditor( Komposer::Editor* editor );
00058
virtual void selectEditor(
const QString& editor );
00059
00063 virtual QPtrList<Komposer::Editor>
editorList()
const {
return m_editors; }
00064
00065 KParts::ReadWritePart* createPart(
const char *libname );
00066
00067
protected slots:
00068
void slotActivePartChanged( KParts::Part *part );
00069
void slotPreferences();
00070
void slotQuit();
00071
00072
protected:
00073
00074
virtual void initWidgets();
00075
void loadSettings();
00076
void saveSettings();
00077
00078
void loadEditors();
00079
void unloadEditors();
00080
void addEditor( Komposer::Editor *editor );
00081
void addPart( KParts::Part *part );
00082
00083
private:
00084 QMap<QCString, KParts::ReadWritePart*> m_parts;
00085 KParts::PartManager* m_partManager;
00086 QWidgetStack* m_stack;
00087 Editor* m_currentEditor;
00088 QPtrList<Komposer::Editor> m_editors;
00089
00090
class Private;
00091 Private *d;
00092 };
00093
00094 }
00095
00096
#endif