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