00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _TDEMDI_GUICLIENT_H_
00022 #define _TDEMDI_GUICLIENT_H_
00023
00024 #include <tqobject.h>
00025 #include <tqguardedptr.h>
00026 #include <kxmlguiclient.h>
00027 #include <tdeaction.h>
00028
00029 #include <tdemdi/global.h>
00030
00031 class TDEMainWindow;
00032 class TDEToolBar;
00033
00034 namespace KMDI {
00035 class MainWindow;
00036 class ToolViewAccessor;
00037 }
00038
00039 class KDockWidget;
00040
00041 namespace KMDIPrivate {
00042
00043 class GUIClientPrivate;
00044
00045 class GUIClient : public TQObject, public KXMLGUIClient
00046 {
00047 Q_OBJECT
00048
00049 public:
00050 GUIClient( KMDI::MainWindow *mdiMainFrm, const char *name = 0 );
00051 virtual ~GUIClient();
00052
00053 void addToolView(KMDI::ToolViewAccessor*);
00054
00055 private slots:
00056 void clientAdded( KXMLGUIClient *client );
00057 void setupActions();
00058 void actionDeleted(TQObject*);
00059
00060 signals:
00061 void toggleTop();
00062 void toggleLeft();
00063 void toggleRight();
00064 void toggleBottom();
00065
00066 private:
00067 GUIClientPrivate *d;
00068
00069 TQGuardedPtr<KMDI::MainWindow> m_mdiMainFrm;
00070 TQPtrList<TDEAction> m_toolViewActions;
00071 TQPtrList<TDEAction> m_documentViewActions;
00072
00073 TDEActionMenu *m_docMenu;
00074 TDEActionMenu *m_toolMenu;
00075
00076 TDEActionMenu *m_gotoToolDockMenu;
00077 };
00078
00079 class ToggleToolViewAction:public TDEToggleAction
00080 {
00081 Q_OBJECT
00082
00083 public:
00084 ToggleToolViewAction ( const TQString& text, const TDEShortcut& cut = TDEShortcut(),
00085 KDockWidget *dw=0,KMDI::MainWindow *mdiMainFrm=0, TQObject* parent = 0, const char* name = 0 );
00086
00087 virtual ~ToggleToolViewAction();
00088
00089 protected slots:
00090 void slotToggled(bool);
00091 void anDWChanged();
00092 void slotWidgetDestroyed();
00093
00094 private:
00095 KDockWidget *m_dw;
00096 KMDI::MainWindow *m_mdiMainFrm;
00097 };
00098
00099 }
00100
00101 #endif
00102
00103