kmdidockcontainer.h00001
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 KMDI_EXPORT 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
00046 KDockWidget *parentDockWidget();
00047
00052 virtual void insertWidget ( KDockWidget *w, QPixmap, const QString &, int & );
00053
00061 virtual void showWidget ( KDockWidget *w );
00062
00067 virtual void setToolTip ( KDockWidget *, QString & );
00068
00072 virtual void setPixmap( KDockWidget* widget, const QPixmap& pixmap );
00073
00077 virtual void undockWidget( KDockWidget* dwdg );
00078
00083 virtual void removeWidget( KDockWidget* );
00084
00088 void hideIfNeeded();
00089
00097 virtual void save( KConfig *, const QString& group_or_prefix );
00098
00106 virtual void load( KConfig *, const QString& group_or_prefix );
00107
00111 virtual void save( QDomElement& );
00112
00116 virtual void load( QDomElement& );
00117
00121 void setStyle( int );
00122
00123 protected:
00124 bool eventFilter( QObject*, QEvent* );
00125
00126 public slots:
00127 void init();
00128 void collapseOverlapped();
00129 void toggle();
00130 void nextToolView();
00131 void prevToolView();
00132 protected slots:
00133 void tabClicked( int );
00134 void delayedRaise();
00135 void changeOverlapMode();
00136 private:
00137 QWidget *m_mainWin;
00138 QWidgetStack *m_ws;
00139 KMultiTabBar *m_tb;
00140 int mTabCnt;
00141 int oldtab;
00142 int m_previousTab;
00143 int m_position;
00144 int m_separatorPos;
00145 QMap<KDockWidget*, int> m_map;
00146 QMap<int, KDockWidget*> m_revMap;
00147 QMap<KDockWidget*, KDockButton_Private*> m_overlapButtons;
00148 QStringList itemNames;
00149 QMap<QString, QString> tabCaptions;
00150 QMap<QString, QString> tabTooltips;
00151 int m_inserted;
00152 int m_delayedRaise;
00153 bool m_horizontal;
00154 bool m_block;
00155 bool m_tabSwitching;
00156 QObject *m_dragPanel;
00157 KDockManager *m_dockManager;
00158 QMouseEvent *m_startEvent;
00159 enum MovingState {NotMoving = 0, WaitingForMoveStart, Moving} m_movingState;
00160 signals:
00161 void activated( KMdiDockContainer* );
00162 void deactivated( KMdiDockContainer* );
00163 };
00164
00165 #endif
00166
00167
|