kmdi Library API Documentation

kmdichildview.h

00001 //---------------------------------------------------------------------------- 00002 // filename : kmdichildview.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 // patches : 02/2000 by Massimo Morin (mmorin@schedsys.com) 00013 // */2000 by Lars Beikirch (Lars.Beikirch@gmx.net) 00014 // 02/2001 by Eva Brucherseifer (eva@rt.e-technik.tu-darmstadt.de) 00015 // 01/2003 by Jens Zurheide (jens.zurheide@gmx.de) 00016 // 00017 // copyright : (C) 1999-2003 by Falk Brettschneider 00018 // and 00019 // Szymon Stefanek (stefanek@tin.it) 00020 // email : falkbr@kdevelop.org (Falk Brettschneider) 00021 //---------------------------------------------------------------------------- 00022 // 00023 //---------------------------------------------------------------------------- 00024 // 00025 // This program is free software; you can redistribute it and/or modify 00026 // it under the terms of the GNU Library General Public License as 00027 // published by the Free Software Foundation; either version 2 of the 00028 // License, or (at your option) any later version. 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 // attributes 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 // methods 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 // kate: space-indent on; indent-width 2; replace-tabs on;
KDE Logo
This file is part of the documentation for kmdi Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Mon Aug 30 22:56:06 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003