00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef _KMDI_DOCK_CONTAINER_
00021
#define _KMDI_DOCK_CONTAINER_
00022
00023
#include <qwidget.h>
00024
#include <qstringlist.h>
00025
#include <kdockwidget.h>
00026
#include <qmap.h>
00027
#include <qdom.h>
00028
00029
# include <kdockwidget_p.h>
00030
00031
#include <qpushbutton.h>
00032
00033
class QWidgetStack;
00034
class KMultiTabBar;
00035
class KDockButton_Private;
00036
00037
class KMdiDockContainer:
public QWidget,
public KDockContainer
00038 {
00039 Q_OBJECT
00040
00041
public:
00042 KMdiDockContainer(
QWidget *parent,
QWidget *win,
int position,
int flags);
00043
virtual ~KMdiDockContainer();
00044
00045 KDockWidget *parentDockWidget();
00046
00047
virtual void insertWidget (KDockWidget *w,
QPixmap,
const QString &,
int &);
00048
virtual void showWidget (KDockWidget *w);
00049
virtual void setToolTip (KDockWidget *,
QString &);
00050
virtual void setPixmap(KDockWidget*,
const QPixmap&);
00051
virtual void undockWidget(KDockWidget*);
00052
virtual void removeWidget(KDockWidget*);
00053
00054
void hideIfNeeded();
00055
00056
virtual void save(KConfig *,
const QString& group_or_prefix);
00057
virtual void load(KConfig *,
const QString& group_or_prefix);
00058
00059
virtual void save(
QDomElement&);
00060
virtual void load(
QDomElement&);
00061
00062
void setStyle(
int);
00063
00064
public slots:
00065
void init();
00066
void collapseOverlapped();
00067
void toggle();
00068
void nextToolView();
00069
void prevToolView();
00070
protected slots:
00071
void tabClicked(
int);
00072
void delayedRaise();
00073
void changeOverlapMode();
00074
private:
00075
QWidget *m_mainWin;
00076
QWidgetStack *m_ws;
00077 KMultiTabBar *m_tb;
00078
int mTabCnt;
00079
int oldtab;
00080
int m_previousTab;
00081
int m_position;
00082
int m_separatorPos;
00083
QMap<KDockWidget*,int> m_map;
00084
QMap<int,KDockWidget*> m_revMap;
00085
QMap<KDockWidget*,KDockButton_Private*> m_overlapButtons;
00086
QStringList itemNames;
00087
QMap<QString,QString> tabCaptions;
00088
QMap<QString,QString> tabTooltips;
00089
int m_inserted;
00090
int m_delayedRaise;
00091
bool m_vertical;
00092
bool m_block;
00093
bool m_tabSwitching;
00094
00095 signals:
00096
void activated(KMdiDockContainer*);
00097
void deactivated(KMdiDockContainer*);
00098 };
00099
00100
#endif
00101
00102