interfaces
iuicontroller.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef IUICONTROLLER_H
00020 #define IUICONTROLLER_H
00021
00022 #include "interfacesexport.h"
00023
00024 #include <QtCore/QStringList>
00025 #include <QtGui/QWidget>
00026 #include <kurl.h>
00027
00028 class QAction;
00029
00030 namespace KParts {
00031 class MainWindow;
00032 }
00033 namespace Sublime{
00034 class Controller;
00035 class View;
00036 }
00037
00038 namespace KDevelop {
00039
00040 class IDocument;
00041
00042 class KDEVPLATFORMINTERFACES_EXPORT IToolViewFactory {
00043 public:
00044 virtual ~IToolViewFactory() {}
00045 virtual QWidget* create(QWidget *parent = 0) = 0;
00046
00047
00048
00049 virtual QString id() const = 0;
00050 virtual Qt::DockWidgetArea defaultPosition() = 0;
00057 virtual QList<QAction*> toolBarActions( QWidget* viewWidget ) const { return viewWidget->actions(); }
00058 virtual void viewCreated(Sublime::View* view);
00059 };
00060
00061 class KDEVPLATFORMINTERFACES_EXPORT IUiController {
00062 public:
00063 virtual ~IUiController();
00064
00065 enum SwitchMode {
00066 ThisWindow ,
00067 NewWindow
00068 };
00069
00070 virtual void switchToArea(const QString &areaName, SwitchMode switchMode) = 0;
00071
00072 virtual void addToolView(const QString &name, IToolViewFactory *factory) = 0;
00073 virtual void removeToolView(IToolViewFactory *factory) = 0;
00074
00076 virtual KParts::MainWindow *activeMainWindow() = 0;
00077
00079 virtual void registerStatus(QObject* status) = 0;
00080
00081
00089 virtual Sublime::Controller* controller() = 0;
00090 protected:
00091 IUiController();
00092 };
00093
00094 }
00095
00096 #endif
00097