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.3.1.