kmdi Library API Documentation

kmdichildarea.h

00001 //----------------------------------------------------------------------------
00002 //    filename             : kmdichildarea.h
00003 //----------------------------------------------------------------------------
00004 //    Project              : KDE MDI extension
00005 //
00006 //    begin                : 07/1999       by Szymon Stefanek as part of kvirc
00007 //                                         (an IRC application)
00008 //    changes              : 09/1999       by Falk Brettschneider to create an
00009 //                           - 06/2000     stand-alone Qt extension set of
00010 //                                         classes and a Qt-based library
00011 //                           2000-2003     maintained by the KDevelop project
00012 //
00013 //    copyright            : (C) 1999-2003 by Falk Brettschneider
00014 //                                         and
00015 //                                         Szymon Stefanek (stefanek@tin.it)
00016 //    email                :  falkbr@kdevelop.org (Falk Brettschneider)
00017 //----------------------------------------------------------------------------
00018 //
00019 //----------------------------------------------------------------------------
00020 //
00021 //    This program is free software; you can redistribute it and/or modify
00022 //    it under the terms of the GNU Library General Public License as
00023 //    published by the Free Software Foundation; either version 2 of the
00024 //    License, or (at your option) any later version.
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     // attributes
00060 public:
00064     QPtrList<KMdiChildFrm> *m_pZ; //Auto delete enabled
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     // methods
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   // _KMDICHILDAREA_H_
00305 
00306 // kate: indent-mode csands; tab-width 4; auto-insert-doxygen on;
KDE Logo
This file is part of the documentation for kmdi Library Version 3.4.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed May 4 06:56:11 2005 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003