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 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
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   // methods
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   // _KMDICHILDAREA_H_
00264 
00265 // kate: space-indent on; indent-width 2; replace-tabs on;
KDE Logo
This file is part of the documentation for kmdi Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Feb 14 09:18:20 2006 by doxygen 1.3.6 written by Dimitri van Heesch, © 1997-2003