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 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;
00068 QSize m_defaultChildFrmSize;
00069
00070
protected:
00074 QFont m_captionFont;
00078 QColor m_captionActiveBackColor;
00082 QColor m_captionActiveForeColor;
00086 QColor m_captionInactiveBackColor;
00090 QColor m_captionInactiveForeColor;
00094
int m_captionFontLineSpacing;
00095
00096
00097
public:
00101
KMdiChildArea(
QWidget *parent);
00106
~KMdiChildArea();
00107
00112
void manageChild(
KMdiChildFrm *lpC,
bool bShow=
true,
bool bCascade=
true);
00117
void destroyChild(
KMdiChildFrm *lpC,
bool bFocusTopChild =
true);
00122
void destroyChildButNotItsView(
KMdiChildFrm *lpC,
bool bFocusTopChild =
true);
00128
void setTopChild(
KMdiChildFrm *lpC,
bool bSetFocus=
false);
00133 inline KMdiChildFrm *
topChild()
const {
return m_pZ->last(); };
00137
int getVisibleChildCount() const;
00142
QPoint getCascadePoint(
int indexOfWindow = -1);
00146
void setMdiCaptionFont(const
QFont &fnt);
00150
void setMdiCaptionActiveForeColor(const
QColor &clr);
00154
void setMdiCaptionActiveBackColor(const
QColor &clr);
00158
void setMdiCaptionInactiveForeColor(const
QColor &clr);
00162
void setMdiCaptionInactiveBackColor(const
QColor &clr);
00163
00170 static
void getCaptionColors( const
QPalette &pal,
00171
QColor &activeBG,
QColor &activeFG,
QColor &inactiveBG,
QColor &inactiveFG );
00172
00173 public slots:
00177
void cascadeWindows();
00181
void cascadeMaximized();
00185
void expandVertical();
00189
void expandHorizontal();
00195
void focusTopChild();
00199
void tilePragma();
00203
void tileAnodine();
00207
void tileVertically();
00211
void layoutMinimizedChildren();
00212
00213 protected:
00217
void tileAllInternal(
int maxWnds);
00221 virtual
void resizeEvent(
QResizeEvent *);
00225
void mousePressEvent(
QMouseEvent *e);
00229
void childMinimized(
KMdiChildFrm *lpC,
bool bWasMaximized);
00230
00231 signals:
00235
void noMaximizedChildFrmLeft(
KMdiChildFrm*);
00239
void nowMaximized(
bool);
00246
void sysButtonConnectionsMustChange(KMdiChildFrm*, KMdiChildFrm*);
00252
void popupWindowMenu(
QPoint);
00257
void lastChildFrmClosed();
00258
00259 private:
00260 KMdiChildAreaPrivate *d;
00261 };
00262
00263 #endif
00264
00265