kmdichildview.h00001
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 KMDI_EXPORT KMdiChildView : public QWidget
00109 {
00110 friend class KMdiMainFrm;
00111 friend class KMdiChildFrm;
00112 Q_OBJECT
00113
00114
00115 protected:
00119 QString m_szCaption;
00120
00124 QString m_sTabCaption;
00125
00129 QWidget* m_focusedChildWidget;
00130
00134 QWidget* m_firstFocusableChildWidget;
00135
00139 QWidget* m_lastFocusableChildWidget;
00140
00144 int m_windowMenuID;
00145
00150 bool m_stateChanged;
00151
00155 QDateTime m_time;
00156
00157 private:
00161 bool m_bToolView;
00162
00168 bool m_bInterruptActivation;
00169
00173 bool m_bMainframesActivateViewIsPending;
00174
00178 bool m_bFocusInEventIsPending;
00179
00180
00181 public:
00185 KMdiChildView( const QString& caption, QWidget* parentWidget = 0L, const char* name = 0L, WFlags f = 0 );
00186
00191 KMdiChildView( QWidget* parentWidget = 0L, const char* name = 0L, WFlags f = 0 );
00192
00196 ~KMdiChildView();
00197
00206 void activate();
00207
00211 void setFirstFocusableChildWidget( QWidget* );
00212
00216 void setLastFocusableChildWidget( QWidget* );
00217
00221 QWidget* focusedChildWidget();
00222
00227 bool isAttached() const { return ( mdiParent() != 0L ); }
00228
00232 const QString& caption() const { return m_szCaption; }
00233
00237 const QString& tabCaption() const { return m_sTabCaption; }
00238
00243 virtual void setCaption( const QString& szCaption );
00244
00248 virtual void setTabCaption( const QString& caption );
00249
00253 virtual void setMDICaption( const QString &caption );
00254
00258 KMdiChildFrm *mdiParent() const;
00259
00264 bool isMinimized() const;
00265
00270 bool isMaximized() const;
00271
00275 QRect internalGeometry() const;
00276
00284 void setInternalGeometry( const QRect& newGeomety );
00285
00289 QRect externalGeometry() const;
00290
00298 void setExternalGeometry( const QRect& newGeomety );
00299
00303 virtual QPixmap* myIconPtr();
00304
00309 virtual void minimize( bool bAnimate );
00310
00315 virtual void maximize( bool bAnimate );
00316
00320 QRect restoreGeometry();
00321
00325 void setRestoreGeometry( const QRect& newRestGeo );
00326
00330 void removeEventFilterForAllChildren();
00331
00335 void setWindowMenuID( int id );
00336
00342 virtual void setMinimumSize ( int minw, int minh );
00343
00349 virtual void setMaximumSize ( int maxw, int maxh );
00350
00354 inline bool isToolView() const { return m_bToolView; }
00355
00359 inline void updateTimeStamp()
00360 {
00361 m_time.setDate( QDate::currentDate() );
00362 m_time.setTime( QTime::currentTime() );
00363 }
00364
00368 inline const QDateTime& getTimeStamp() const { return m_time; }
00369
00370 public slots:
00376 virtual void attach();
00377
00383 virtual void detach();
00384
00390 virtual void minimize();
00391
00397 virtual void maximize();
00398
00402 virtual void restore();
00403
00408 virtual void youAreAttached( KMdiChildFrm *lpC );
00409
00414 virtual void youAreDetached();
00415
00419 virtual void slot_clickedInWindowMenu();
00420
00424 virtual void slot_clickedInDockMenu();
00425
00429 virtual void show();
00430
00434 virtual void hide();
00435
00439 virtual void raise();
00440
00445 virtual void showMinimized();
00446
00451 virtual void showMaximized();
00452
00457 virtual void showNormal();
00458
00459
00460 protected:
00465 virtual void closeEvent( QCloseEvent *e );
00466
00473 virtual bool eventFilter( QObject *obj, QEvent *e );
00474
00481 virtual void focusInEvent( QFocusEvent *e );
00482
00486 virtual void focusOutEvent( QFocusEvent *e );
00487
00491 virtual void resizeEvent( QResizeEvent *e );
00492
00493 void trackIconAndCaptionChanges( QWidget *view );
00494
00495 protected slots:
00496 void slot_childDestroyed();
00497
00498 signals:
00502 void attachWindow( KMdiChildView*, bool );
00503
00507 void detachWindow( KMdiChildView*, bool );
00508
00514 void focusInEventOccurs( KMdiChildView* );
00515
00520 void gotFocus( KMdiChildView* );
00521
00526 void activated( KMdiChildView* );
00527
00531 void lostFocus( KMdiChildView* );
00532
00536 void deactivated( KMdiChildView* );
00537
00542 void childWindowCloseRequest( KMdiChildView* );
00543
00547 void windowCaptionChanged( const QString& );
00548
00552 void tabCaptionChanged( const QString& );
00553
00558 void mdiParentNowMaximized( bool );
00559
00563 void clickedInWindowMenu( int );
00564
00568 void clickedInDockMenu( int );
00569
00573 void isMaximizedNow();
00574
00578 void isMinimizedNow();
00579
00583 void isRestoredNow();
00584
00588 void isAttachedNow();
00589
00593 void isDetachedNow();
00594
00595 void iconUpdated( QWidget*, QPixmap );
00596 void captionUpdated( QWidget*, const QString& );
00597
00598
00599 private:
00600 KMdiChildViewPrivate *d;
00601 QWidget *m_trackChanges;
00602 };
00603
00604 inline KMdiChildFrm *KMdiChildView::mdiParent() const
00605 {
00606 QWidget * pw = parentWidget();
00607 if ( pw != 0L )
00608 if ( pw->inherits( "KMdiChildFrm" ) )
00609 return ( KMdiChildFrm * ) pw;
00610 return 0L;
00611 }
00612
00613 #endif //_KMDICHILDVIEW_H_
00614
00615
|