toolviewaccessor.h

00001 /* This file is part of the KDE libraries
00002    Copyright (C) 2003 Joseph Wenninger <jowenn@kde.org>
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License as published by the Free Software Foundation; either
00007    version 2 of the License, or (at your option) any later version.
00008 
00009    This library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Library General Public License for more details.
00013 
00014    You should have received a copy of the GNU Library General Public License
00015    along with this library; see the file COPYING.LIB.  If not, write to
00016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017    Boston, MA 02110-1301, USA.
00018 */
00019 
00020 #ifndef _KMDI_TOOLVIEWACCESSOR_H_
00021 #define _KMDI_TOOLVIEWACCESSOR_H_
00022 
00023 #include <qwidget.h>
00024 #include <qpixmap.h>
00025 #include <qrect.h>
00026 #include <qapplication.h>
00027 #include <qdatetime.h>
00028 
00029 #include <kdockwidget.h>
00030 
00031 namespace KMDIPrivate {
00032    class GUIClient;
00033    class ToolViewAccessorPrivate;
00034 }
00035 
00036 namespace KMDI {
00037 
00038 class MainWindow;
00039 
00040 class ToolViewAccessor : public QObject
00041 {
00042    Q_OBJECT
00043 
00044    friend class KMDI::MainWindow;
00045    friend class KMDIPrivate::GUIClient;
00046 
00047 private:
00053    bool m_bInterruptActivation;
00057    bool m_bMainframesActivateViewIsPending;
00061    bool m_bFocusInEventIsPending;
00062 
00063 private:
00064   ToolViewAccessor( KMDI::MainWindow *parent , QWidget *widgetToWrap, const QString& tabToolTip = 0, const QString& tabCaption = 0);
00065   ToolViewAccessor( KMDI::MainWindow *parent);
00066 public:
00067   ~ToolViewAccessor();
00068   QWidget *wrapperWidget();
00069   QWidget *wrappedWidget();
00070   void place(KDockWidget::DockPosition pos = KDockWidget::DockNone, QWidget* pTargetWnd = 0L,int percent = 50);
00071   void placeAndShow(KDockWidget::DockPosition pos = KDockWidget::DockNone, QWidget* pTargetWnd = 0L,int percent = 50);
00072   void show();
00073 public slots:
00074   void setWidgetToWrap(QWidget* widgetToWrap, const QString& tabToolTip = 0, const QString& tabCaption = 0);
00075   void hide();
00076 private:
00077    KMDIPrivate::ToolViewAccessorPrivate *d;
00078    KMDI::MainWindow *mdiMainFrm;
00079 
00080 protected:
00081   bool eventFilter(QObject *o, QEvent *e);
00082 };
00083 
00084 }
00085 
00086 #endif //_KMDITOOLVIEWACCESSOR_H_
00087 
00088 // kate: space-indent on; indent-width 2; replace-tabs on;
KDE Home | KDE Accessibility Home | Description of Access Keys