# kmdi Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# kmditaskbar.h

    00001 //----------------------------------------------------------------------------
    00002 //    filename             : kmditaskbar.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 _KMDITASKBAR_H_
    00029 #define _KMDITASKBAR_H_
    00030
    00031 #include <ktoolbar.h>
    00032 #include <qptrlist.h>
    00033 #include <qpixmap.h>
    00034 #include <qlabel.h>
    00035 #include <qpushbutton.h>
    00036
    00037 #include "kmdidefines.h"
    00038
    00039 class KMdiMainFrm;
    00040 class KMdiChildView;
    00041 class KMdiTaskBar;
    00042
    00043 class KMdiTaskBarButtonPrivate;
    00044
    00051 class KMDI_EXPORT KMdiTaskBarButton : public QPushButton
    00052 {
    00053     Q_OBJECT
    00054     // methods
    00055 public:
    00059     KMdiTaskBarButton( KMdiTaskBar *pTaskBar, KMdiChildView *win_ptr );
    00063     ~KMdiTaskBarButton();
    00067     QString actualText() const;
    00071     void fitText( const QString&, int newWidth );
    00075     void setText( const QString& );
    00076 signals:
    00080     void clicked( KMdiChildView* );
    00084     void leftMouseButtonClicked( KMdiChildView* );
    00088     void rightMouseButtonClicked( KMdiChildView* );
    00092     void buttonTextChanged( int );
    00093 public slots:
    00097     void setNewText( const QString& );
    00098 protected slots:
    00102     void mousePressEvent( QMouseEvent* );
    00103
    00104     // attributes
    00105 public:
    00109     KMdiChildView *m_pWindow;
    00110 protected:
    00114     QString m_actualText;
    00115
    00116 private:
    00117     KMdiTaskBarButtonPrivate *d;
    00118 };
    00119
    00120
    00121 class KMdiTaskBarPrivate;
    00129 class KMDI_EXPORT KMdiTaskBar : public KToolBar
    00130 {
    00131     Q_OBJECT
    00132 public:
    00136     KMdiTaskBar( KMdiMainFrm *parent, QMainWindow::ToolBarDock dock );
    00140     ~KMdiTaskBar();
    00146     KMdiTaskBarButton * addWinButton( KMdiChildView *win_ptr );
    00151     void removeWinButton( KMdiChildView *win_ptr, bool haveToLayoutTaskBar = true );
    00156     KMdiTaskBarButton * getNextWindowButton( bool bRight, KMdiChildView *win_ptr );
    00160     KMdiTaskBarButton * getButton( KMdiChildView *win_ptr );
    00164     void switchOn( bool bOn );
    00168     bool isSwitchedOn() const
    00169     {
    00170         return m_bSwitchedOn;
    00171     };
    00172 protected:
    00176     void resizeEvent( QResizeEvent* );
    00177 protected slots:
    00185     void layoutTaskBar( int taskBarWidth = 0 );
    00186 public slots:
    00191     void setActiveButton( KMdiChildView *win_ptr );
    00192 protected:
    00197     QPtrList<KMdiTaskBarButton>* m_pButtonList;
    00201     KMdiMainFrm* m_pFrm;
    00205     KMdiChildView* m_pCurrentFocusedWindow;
    00209     QLabel* m_pStretchSpace;
    00210     bool m_layoutIsPending;
    00211     bool m_bSwitchedOn;
    00212
    00213 private:
    00214     KMdiTaskBarPrivate *d;
    00215 };
    00216
    00217 #endif //_KMDITASKBAR_H_
    00218 // kate: space-indent off; tab-width 4; replace-tabs off; indent-mode csands;
    00219

This file is part of the documentation for kmdi Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:32:06 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003