28 #ifndef _KMDI_CHILD_FRM_H_
29 #define _KMDI_CHILD_FRM_H_
31 #include <tqptrlist.h>
33 #include <tqpushbutton.h>
35 #include <tqdatetime.h>
40 #include "kmdichildfrmcaption.h"
57 virtual void mousePressEvent( TQMouseEvent* );
74 KMdiChildFrmMoveEvent( TQMoveEvent *e ) : TQCustomEvent( TQEvent::Type( TQEvent::User +
int( KMdi::EV_Move ) ), e ) {}
86 KMdiChildFrmDragBeginEvent( TQMouseEvent *e ) : TQCustomEvent( TQEvent::Type( TQEvent::User +
int( KMdi::EV_DragBegin ) ), e ) {}
97 KMdiChildFrmDragEndEvent( TQMouseEvent *e ) : TQCustomEvent( TQEvent::Type( TQEvent::User +
int( KMdi::EV_DragEnd ) ), e ) {}
119 KMdiChildFrmResizeEndEvent( TQMouseEvent *e ) : TQCustomEvent( TQEvent::Type( TQEvent::User +
int( KMdi::EV_ResizeEnd ) ), e ) {}
123 class KMdiChildFrmPrivate;
139 enum MdiWindowState { Normal, Maximized, Minimized };
147 TQToolButton* m_pUnixIcon;
148 TQToolButton* m_pMinimize;
149 TQToolButton* m_pMaximize;
150 TQToolButton* m_pClose;
151 TQToolButton* m_pUndock;
152 MdiWindowState m_state;
153 TQRect m_restoredRect;
155 int m_iLastCursorCorner;
158 TQPixmap* m_pIconButtonPixmap;
159 TQPixmap* m_pMinButtonPixmap;
160 TQPixmap* m_pMaxButtonPixmap;
161 TQPixmap* m_pRestoreButtonPixmap;
162 TQPixmap* m_pCloseButtonPixmap;
163 TQPixmap* m_pUndockButtonPixmap;
175 TQSize m_oldClientMinSize;
176 TQSize m_oldClientMaxSize;
177 TQLayout::ResizeMode m_oldLayoutResizeMode;
178 TQTime m_timeMeasure;
199 void setClient(
KMdiChildView *w,
bool bAutomaticResize =
false );
205 void unsetClient( TQPoint positionOffset = TQPoint( 0, 0 ) );
210 void setIcon(
const TQPixmap &pxm );
215 TQPixmap* icon()
const;
220 void enableClose(
bool bEnable );
230 const TQString&
caption() {
return m_pCaption->m_szCaption; }
235 void setState( MdiWindowState state,
bool bAnimate =
true );
240 inline MdiWindowState
state()
const {
return m_state; }
245 TQRect mdiAreaContentsRect()
const;
250 TQRect restoreGeometry()
const;
255 void setRestoreGeometry(
const TQRect& newRestGeo );
266 TQPopupMenu* systemMenu()
const;
276 void redecorateButtons();
292 void raiseAndActivate();
299 virtual void setMinimumSize (
int minw,
int minh );
303 void slot_resizeViaSystemMenu();
312 virtual void resizeEvent( TQResizeEvent * );
339 virtual void moveEvent( TQMoveEvent* me );
344 virtual void leaveEvent( TQEvent * );
352 virtual bool eventFilter( TQObject*, TQEvent* );
358 void resizeWindow(
int resizeCorner,
int x,
int y );
363 void setResizeCursor(
int resizeCorner );
368 void unsetResizeCursor();
374 virtual void switchToMinimizeLayout();
385 void doResize(
bool captionOnly );
392 void maximizePressed();
397 void restorePressed();
402 void minimizePressed();
412 void undockPressed();
417 void showSystemMenu();
425 void linkChildren( TQDict<TQ_FocusPolicy>* pFocPolDict );
431 TQDict<TQ_FocusPolicy>* unlinkChildren();
438 int getResizeCorner(
int ax,
int ay );
441 KMdiChildFrmPrivate *d;
444 #endif //_KMDICHILDFRM_H_