00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
#ifndef _KMDI_CHILD_AREA_H_
00029
#define _KMDI_CHILD_AREA_H_
00030
00031
#include <qframe.h>
00032
#include <qptrlist.h>
00033
00034
#include "kmdichildfrm.h"
00035
#include "kmdichildview.h"
00036
00037
class KMdiChildAreaPrivate;
00038
00052 class KMDI_EXPORT KMdiChildArea :
public QFrame
00053 {
00054
friend class KMdiChildFrmCaption;
00055
friend class KMdiChildFrm;
00056
00057 Q_OBJECT
00058
00059
00060
public:
00064 QPtrList<KMdiChildFrm> *m_pZ;
00065
00069 QSize m_defaultChildFrmSize;
00070
protected:
00074 QFont m_captionFont;
00075
00079 QColor m_captionActiveBackColor;
00080
00084 QColor m_captionActiveForeColor;
00085
00089 QColor m_captionInactiveBackColor;
00090
00094 QColor m_captionInactiveForeColor;
00095
00096
int m_captionFontLineSpacing;
00097
00098
00099
public:
00100
00104 KMdiChildArea(
QWidget *parent );
00105
00110 ~KMdiChildArea();
00111
00116
void manageChild(
KMdiChildFrm *lpC,
bool bShow =
true,
bool bCascade =
true );
00117
00122
void destroyChild(
KMdiChildFrm* child,
bool focusTopChild =
true );
00123
00129
void destroyChildButNotItsView(
KMdiChildFrm *lpC,
bool bFocusTopChild =
true );
00130
00137
void setTopChild(
KMdiChildFrm* child,
bool setFocus =
false );
00138
00143 inline KMdiChildFrm * topChild()
const {
return m_pZ->last(); }
00144
00148
int getVisibleChildCount() const;
00149
00155
QPoint getCascadePoint(
int indexOfWindow = -1 );
00156
00161
void setMdiCaptionFont( const
QFont &fnt );
00162
00167
void setMdiCaptionActiveForeColor( const
QColor &clr );
00168
00173
void setMdiCaptionActiveBackColor( const
QColor &clr );
00174
00179
void setMdiCaptionInactiveForeColor( const
QColor &clr );
00180
00185
void setMdiCaptionInactiveBackColor( const
QColor &clr );
00186
00196 static
void getCaptionColors( const
QPalette &pal,
QColor &activeBG,
QColor &activeFG,
00197
QColor &inactiveBG,
QColor &inactiveFG ) KDE_DEPRECATED;
00198
00199 public slots:
00203
void cascadeWindows();
00204
00208
void cascadeMaximized();
00209
00213
void expandVertical();
00214
00218
void expandHorizontal();
00219
00224
void focusTopChild();
00225
00229
void tilePragma();
00230
00234
void tileAnodine();
00235
00239
void tileVertically();
00240
00244
void layoutMinimizedChildren();
00245
00246 protected:
00247
00251
void tileAllInternal(
int maxWnds );
00252
00256 virtual
void resizeEvent(
QResizeEvent * );
00257
00261
void mousePressEvent(
QMouseEvent *e );
00262
00266
void childMinimized(
KMdiChildFrm *lpC,
bool bWasMaximized );
00267
00268 signals:
00272
void noMaximizedChildFrmLeft(
KMdiChildFrm* );
00273
00277
void nowMaximized(
bool );
00278
00285
void sysButtonConnectionsMustChange( KMdiChildFrm*, KMdiChildFrm* );
00286
00291
void popupWindowMenu(
QPoint );
00292
00297
void lastChildFrmClosed();
00298
00299 private:
00300
00301 KMdiChildAreaPrivate *d;
00302 };
00303
00304 #endif
00305
00306