00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
#ifndef KMDIGUICLIENT_H
00020
#define KMDIGUICLIENT_H
00021
00022
#include <qobject.h>
00023
#include <qguardedptr.h>
00024
#include <kxmlguiclient.h>
00025
#include <kaction.h>
00026
#include "kmdidefines.h"
00027
00028
class KMainWindow;
00029
class KToolBar;
00030
class KMdiToolViewAccessor;
00031
class KMdiMainFrm;
00032
class KDockWidget;
00033
00034
namespace KMDIPrivate {
00035
00036
class KMDIGUIClient :
public QObject,
00037
public KXMLGUIClient
00038 {
00039 Q_OBJECT
00040
public:
00041 KMDIGUIClient(
KMdiMainFrm *mdiMainFrm,
bool showMDIModeAction,
const char *name = 0 );
00042
virtual ~KMDIGUIClient();
00043
00044
void addToolView(KMdiToolViewAccessor*);
00045
private slots:
00046
void clientAdded( KXMLGUIClient *client );
00047
void setupActions();
00048
void changeViewMode(
int id);
00049
void actionDeleted(
QObject*);
00050
void mdiModeHasBeenChangedTo(KMdi::MdiMode);
00051 signals:
00052
void toggleTop();
00053
void toggleLeft();
00054
void toggleRight();
00055
void toggleBottom();
00056
00057
private:
00058
class KMDIGUIClientPrivate;
00059 KMDIGUIClientPrivate *d;
00060 KMdi::MdiMode m_mdiMode;
00061
00062
QGuardedPtr<KMdiMainFrm> m_mdiMainFrm;
00063
QPtrList<KAction> m_toolViewActions;
00064
QPtrList<KAction> m_documentViewActions;
00065
00066 KActionMenu *m_docMenu;
00067 KActionMenu *m_toolMenu;
00068 KSelectAction *m_mdiModeAction;
00069
00070 KActionMenu *m_gotoToolDockMenu;
00071 };
00072
00073
00074
class ToggleToolViewAction:
public KToggleAction
00075 {
00076 Q_OBJECT
00077
public:
00078 ToggleToolViewAction(
const QString& text,
const KShortcut& cut = KShortcut(),KDockWidget *dw=0,
KMdiMainFrm *mdiMainFrm=0,
00079
QObject* parent = 0,
const char* name = 0 );
00080
00081
virtual ~ToggleToolViewAction();
00082
00083
private:
00084 KDockWidget *m_dw;
00085
KMdiMainFrm *m_mdiMainFrm;
00086
protected slots:
00087
void slotToggled(
bool);
00088
void anDWChanged();
00089
void slotWidgetDestroyed();
00090 };
00091
00092
00093 }
00094
00095
#endif