kmdiguiclient.h
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
 
This file is part of the documentation for kmdi Library Version 3.2.0.