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
00041 class KMDI_EXPORT KMDIGUIClient :
public QObject,
00042
public KXMLGUIClient
00043 {
00044 Q_OBJECT
00045
public:
00046
00047 KMDIGUIClient(
KMdiMainFrm *mdiMainFrm,
bool showMDIModeAction,
const char *name = 0 );
00048
virtual ~KMDIGUIClient();
00049
00056
void addToolView( KMdiToolViewAccessor* );
00057
00058
private slots:
00059
00064
void clientAdded( KXMLGUIClient *client );
00068
void setupActions();
00069
00074
void changeViewMode(
int id );
00075
00080
void actionDeleted(
QObject* );
00081
00086
void mdiModeHasBeenChangedTo( KMdi::MdiMode );
00087
00088 signals:
00090
void toggleTop();
00091
00093
void toggleLeft();
00094
00096
void toggleRight();
00097
00099
void toggleBottom();
00100
00101
private:
00102
class KMDIGUIClientPrivate;
00103 KMDIGUIClientPrivate *d;
00104 KMdi::MdiMode m_mdiMode;
00105
00106
QGuardedPtr<KMdiMainFrm> m_mdiMainFrm;
00107
QPtrList<KAction> m_toolViewActions;
00108
QPtrList<KAction> m_documentViewActions;
00109
00110 KActionMenu *m_docMenu;
00111 KActionMenu *m_toolMenu;
00112 KSelectAction *m_mdiModeAction;
00113
00114 KActionMenu *m_gotoToolDockMenu;
00115 };
00116
00121
class KMDI_EXPORT ToggleToolViewAction:
public KToggleAction
00122 {
00123 Q_OBJECT
00124
public:
00125
00126 ToggleToolViewAction(
const QString& text,
const KShortcut& cut = KShortcut(), KDockWidget *dw = 0,
KMdiMainFrm *mdiMainFrm = 0,
00127
QObject* parent = 0,
const char* name = 0 );
00128
00129
virtual ~ToggleToolViewAction();
00130
00131
private:
00132
00133 KDockWidget *m_dw;
00134
KMdiMainFrm *m_mdiMainFrm;
00135
protected slots:
00136
00137
void slotToggled(
bool );
00138
void anDWChanged();
00139
void slotWidgetDestroyed();
00140 };
00141
00142
00143 }
00144
00145
#endif
00146