kdockwidget_private.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef KDOCKWIDGET_PRIVATE_H
00024 #define KDOCKWIDGET_PRIVATE_H
00025
00026 #include <qwidget.h>
00027 #include <qpushbutton.h>
00028
00029 #ifndef NO_KDE2
00030 #include <netwm_def.h>
00031 #endif
00032
00033 class QFrame;
00034 class KDockContainer;
00035
00036
00043 class KDockSplitter : public QWidget
00044 {
00045 Q_OBJECT
00046 public:
00047 KDockSplitter(QWidget *parent= 0, const char *name= 0, Orientation orient= Vertical, int pos= 50, bool highResolution=false);
00048 virtual ~KDockSplitter(){};
00049
00050 void activate(QWidget *c0, QWidget *c1 = 0L);
00051 void deactivate();
00052
00053 int separatorPos() const;
00054 void setSeparatorPos(int pos, bool do_resize = true);
00055
00056 virtual bool eventFilter(QObject *, QEvent *);
00057 virtual bool event( QEvent * );
00058
00059 QWidget* getFirst() const { return child0; }
00060 QWidget* getLast() const { return child1; }
00061 QWidget* getAnother( QWidget* ) const;
00062 void updateName();
00063
00064 void setOpaqueResize(bool b=true);
00065 bool opaqueResize() const;
00066
00067 void setKeepSize(bool b=true);
00068 bool keepSize() const;
00069
00070 void setHighResolution(bool b=true);
00071 bool highResolution() const;
00072
00073 void setForcedFixedWidth(KDockWidget *dw,int w);
00074 void setForcedFixedHeight(KDockWidget *dw,int h);
00075 void restoreFromForcedFixedSize(KDockWidget *dw);
00076
00077 Orientation orientation(){return m_orientation;}
00078
00079 protected:
00080 int checkValue( int ) const;
00081 virtual void resizeEvent(QResizeEvent *);
00082
00083
00084
00085
00086 private:
00087 void setupMinMaxSize();
00088
00089 QWidget *child0, *child1;
00090 Orientation m_orientation;
00091 bool initialised;
00092 QFrame* divider;
00093 int xpos, savedXPos;
00094 bool mOpaqueResize, mKeepSize, mHighResolution;
00095 int fixedWidth0,fixedWidth1;
00096 int fixedHeight0,fixedHeight1;
00097 };
00098
00105 class KDockButton_Private : public QPushButton
00106 {
00107 Q_OBJECT
00108 public:
00109 KDockButton_Private( QWidget *parent=0, const char *name=0 );
00110 ~KDockButton_Private();
00111
00112 protected:
00113 virtual void drawButton( QPainter * );
00114 virtual void enterEvent( QEvent * );
00115 virtual void leaveEvent( QEvent * );
00116
00117 private:
00118 bool moveMouse;
00119 };
00120
00130 class KDockWidgetPrivate : public QObject
00131 {
00132 Q_OBJECT
00133 public:
00134 KDockWidgetPrivate();
00135 ~KDockWidgetPrivate();
00136
00137 public slots:
00141 void slotFocusEmbeddedWidget(QWidget* w = 0L);
00142
00143 public:
00144 enum KDockWidgetResize
00145 {ResizeLeft,ResizeTop,ResizeRight,ResizeBottom,ResizeBottomLeft,ResizeTopLeft,ResizeBottomRight,ResizeTopRight};
00146
00147 int index;
00148 int splitPosInPercent;
00149 bool pendingFocusInEvent;
00150 bool blockHasUndockedSignal;
00151 bool pendingDtor;
00152 int forcedWidth;
00153 int forcedHeight;
00154 bool isContainer;
00155
00156 #ifndef NO_KDE2
00157 NET::WindowType windowType;
00158 #endif
00159
00160 QWidget *_parent;
00161 bool transient;
00162
00163 QGuardedPtr<QWidget> container;
00164
00165 QPoint resizePos;
00166 bool resizing;
00167 KDockWidgetResize resizeMode;
00168
00169 };
00170
00171 class KDockWidgetHeaderPrivate
00172 : public QObject
00173 {
00174 public:
00175 KDockWidgetHeaderPrivate( QObject* parent )
00176 : QObject( parent )
00177 {
00178 toDesktopButton = 0;
00179 showToDesktopButton = true;
00180 topLevel = false;
00181 }
00182 KDockButton_Private* toDesktopButton;
00183
00184 bool showToDesktopButton;
00185 bool topLevel;
00186 };
00187
00188 #endif
This file is part of the documentation for kdelibs Version 3.1.5.