kmdichildview.h
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 
00029 
00030 
00031 #ifndef _KMDI_CHILD_VIEW_H_
00032 #define _KMDI_CHILD_VIEW_H_
00033 
00034 #include <qwidget.h>
00035 #include <qpixmap.h>
00036 #include <qrect.h>
00037 #include <qapplication.h>
00038 #include <qdatetime.h>
00039 
00040 #include "kmdichildfrm.h"
00041 
00042 class KMdiChildViewPrivate;
00043 
00108 class KMdiChildView : public QWidget
00109 {
00110    friend class KMdiMainFrm;
00111    friend class KMdiChildFrm;
00112    Q_OBJECT
00113 
00114 
00115 protected:
00119    QString     m_szCaption;
00123    QString     m_sTabCaption;
00127    QWidget*    m_focusedChildWidget;
00131    QWidget*    m_firstFocusableChildWidget;
00135    QWidget*    m_lastFocusableChildWidget;
00139    int         m_windowMenuID;
00144    bool        m_stateChanged;
00145 
00149    QDateTime   m_time;
00150 
00151 private:
00155    bool  m_bToolView;
00161    bool m_bInterruptActivation;
00165    bool m_bMainframesActivateViewIsPending;
00169    bool m_bFocusInEventIsPending;
00170 
00171 
00172 public:
00176    KMdiChildView( const QString& caption, QWidget* parentWidget = 0L, const char* name = 0L, WFlags f=0);
00180    KMdiChildView( QWidget* parentWidget = 0L, const char* name = 0L, WFlags f=0);
00184    ~KMdiChildView();
00193    void activate();
00197    void setFirstFocusableChildWidget(QWidget*);
00201    void setLastFocusableChildWidget(QWidget*);
00205    QWidget* focusedChildWidget();
00210    bool isAttached() const { return (mdiParent() != 0L); };
00214    const QString& caption() const { return m_szCaption; };
00218    const QString& tabCaption() const { return m_sTabCaption; };
00223    virtual void setCaption(const QString& szCaption);
00227    virtual void setTabCaption(const QString& caption);
00231    virtual void setMDICaption(const QString &caption);
00235    KMdiChildFrm *mdiParent() const;
00240    bool isMinimized() const;
00245    bool isMaximized() const;
00249    QRect internalGeometry() const;
00257    void setInternalGeometry(const QRect& newGeomety);
00261    QRect externalGeometry() const;
00269    void setExternalGeometry(const QRect& newGeomety);
00273    virtual QPixmap* myIconPtr();
00278    virtual void minimize(bool bAnimate);
00283    virtual void maximize(bool bAnimate);
00287    QRect restoreGeometry();
00291    void  setRestoreGeometry(const QRect& newRestGeo);
00295    void removeEventFilterForAllChildren();
00299    void setWindowMenuID( int id);
00305    virtual void setMinimumSize ( int minw, int minh );
00311    virtual void setMaximumSize ( int maxw, int maxh );
00315    inline bool isToolView() const { return m_bToolView; };
00319    inline void updateTimeStamp() {
00320       m_time.setDate( QDate::currentDate() );
00321       m_time.setTime( QTime::currentTime() );
00322    }
00326    inline const QDateTime& getTimeStamp() const { return m_time; }
00327 
00328 public slots:
00335    virtual void attach();
00342    virtual void detach();
00348    virtual void minimize();
00354    virtual void maximize();
00358    virtual void restore();
00363    virtual void youAreAttached(KMdiChildFrm *lpC);
00368    virtual void youAreDetached();
00372    virtual void slot_clickedInWindowMenu();
00376    virtual void slot_clickedInDockMenu();
00380    virtual void show();
00384    virtual void hide();
00388    virtual void raise();
00393    virtual void showMinimized();
00398    virtual void showMaximized();
00403    virtual void showNormal();
00404 
00405 protected:
00410    virtual void closeEvent(QCloseEvent *e);
00417    virtual bool eventFilter(QObject *obj, QEvent *e);
00424    virtual void focusInEvent(QFocusEvent *e);
00428    virtual void focusOutEvent(QFocusEvent *e);
00432    virtual void resizeEvent(QResizeEvent *e);
00433 
00434    void trackIconAndCaptionChanges(QWidget *view);
00435 
00436 protected slots:
00437    void slot_childDestroyed();
00438 
00439 signals:
00443    void attachWindow( KMdiChildView*,bool);
00447    void detachWindow( KMdiChildView*,bool);
00453    void focusInEventOccurs( KMdiChildView*);
00458    void gotFocus( KMdiChildView*);
00463    void activated( KMdiChildView*);
00467    void lostFocus( KMdiChildView*);
00471    void deactivated( KMdiChildView*);
00476    void childWindowCloseRequest( KMdiChildView*);
00480    void windowCaptionChanged( const QString&);
00484    void tabCaptionChanged( const QString&);
00489    void mdiParentNowMaximized(bool);
00493    void clickedInWindowMenu(int);
00497    void clickedInDockMenu(int);
00501    void isMaximizedNow();
00505    void isMinimizedNow();
00509    void isRestoredNow();
00513    void isAttachedNow();
00517    void isDetachedNow();
00518 
00519    void iconUpdated(QWidget*,QPixmap);
00520    void captionUpdated(QWidget*,const QString&);
00521 
00522 
00523   private:
00524    KMdiChildViewPrivate *d;
00525    QWidget *m_trackChanges;
00526 };
00527 
00528 inline KMdiChildFrm *KMdiChildView::mdiParent() const
00529 {
00530    QWidget* pw = parentWidget();
00531    if( pw != 0L)
00532       if( pw->inherits("KMdiChildFrm"))
00533          return (KMdiChildFrm *)pw;
00534    return 0L;
00535 }
00536 
00537 #endif //_KMDICHILDVIEW_H_
00538 
00539 
 
This file is part of the documentation for kmdi Library Version 3.2.0.