49 #define _KDOCKWIDGET_2_2_
52 #include <tqptrlist.h>
55 #include <tqtabwidget.h>
58 #include <tdemainwindow.h>
59 #include <netwm_def.h>
62 #include <tqmainwindow.h>
63 #include "exportdockclass.h"
64 #include "dummytdemainwindow.h"
69 class KDockMoveManager;
73 class KDockWidgetHeaderPrivate;
140 virtual void virtual_hook(
int id,
void* data );
142 class KDockWidgetAbstractHeaderPrivate;
143 KDockWidgetAbstractHeaderPrivate *d;
185 virtual void virtual_hook(
int id,
void* data );
187 class KDockWidgetAbstractHeaderDragPrivate;
188 KDockWidgetAbstractHeaderDragPrivate *d;
213 const char* name = 0L );
225 virtual void paintEvent( TQPaintEvent* );
228 virtual void virtual_hook(
int id,
void* data );
230 class KDockWidgetHeaderDragPrivate;
231 KDockWidgetHeaderDragPrivate *d;
281 bool dragEnabled()
const;
282 void setDragEnabled(
bool b);
284 void showUndockButton(
bool show);
287 void forceCloseButtonHidden(
bool enable=
true);
324 void slotStayClicked();
354 virtual void virtual_hook(
int id,
void* data );
356 KDockWidgetHeaderPrivate *d;
376 :TQTabWidget( parent, name ){}
383 TQWidget *transientTo();
385 virtual void virtual_hook(
int id,
void* data );
387 class KDockTabGroupPrivate;
388 KDockTabGroupPrivate *d;
435 friend class KDockArea;
454 const TQPixmap &pixmap, TQWidget* parent = 0L,
const TQString& strCaption = TQString::null,
455 const TQString& strTabPageLabel = TQString::fromLatin1(
" " ), WFlags f = 0);
474 DockToSpecialSites=0x0040,
475 DockCorner = DockTop | DockLeft | DockRight | DockBottom,
476 DockFullSite = DockCorner | DockCenter,
477 DockFullDocking = DockFullSite | DockDesktop
504 KDockWidget* manualDock(
KDockWidget* target, DockPosition dockPos,
int spliPos = 50, TQPoint pos = TQPoint(0,0),
bool check =
false,
int tabIndex = -1);
511 void setEnableDocking(
int pos );
537 void setWidget( TQWidget* w);
566 void makeDockVisible();
577 bool mayBeHide()
const;
586 bool mayBeShow()
const;
613 bool isDockBackPossible()
const;
629 virtual bool event( TQEvent * );
641 TQWidget *parentDockContainer()
const;
654 void setDockWindowTransient (TQWidget *parent,
bool transientEnabled);
660 TQWidget *transientTo();
668 KDockWidget *findNearestDockWidget(DockPosition pos);
676 void setPixmap(
const TQPixmap& pixmap=TQPixmap());
683 const TQPixmap& pixmap()
const;
698 void setForcedFixedWidth(
int);
705 void setForcedFixedHeight(
int);
707 void restoreFromForcedFixedSize();
710 int forcedFixedWidth();
712 int forcedFixedHeight();
723 void changeHideShowState();
739 friend class KMdiMainFrm;
740 friend class KMDI::MainWindow;
751 void setLatestKDockContainer(TQWidget *);
753 TQWidget *latestKDockContainer();
763 void widgetSet(TQWidget*);
776 void setDockDefaultPos();
781 void headerCloseButtonClicked();
786 void headerDockbackButtonClicked();
791 void iMBeingClosed();
803 void loseFormerBrotherDockWidget();
805 virtual void paintEvent(TQPaintEvent*);
807 virtual void mousePressEvent(TQMouseEvent*);
808 virtual void mouseReleaseEvent(TQMouseEvent*);
809 virtual void mouseMoveEvent(TQMouseEvent*);
810 virtual void leaveEvent(TQEvent*);
849 void applyToWidget( TQWidget* s,
const TQPoint& p = TQPoint(0,0) );
894 Orientation splitterOrientation;
898 virtual void virtual_hook(
int id,
void* data );
923 enum EnReadDockConfigMode {
925 WrapExistingWidgetsOnly,
926 RestoreAllDockwidgets
940 KDockManager( TQWidget* mainWindow,
const char* name = 0L );
947 void dumpDockWidgets();
959 void writeConfig(
TDEConfig* c = 0L, TQString group = TQString::null );
977 void readConfig (
TDEConfig* c = 0L, TQString group = TQString::null );
986 void writeConfig(TQDomElement &base);
990 void readConfig(TQDomElement &base);
1006 virtual bool eventFilter( TQObject *
object, TQEvent * event );
1015 KDockWidget* findWidgetParentDock( TQWidget* w)
const;
1033 KDockWidget* getDockWidgetFromName(
const TQString& dockName );
1039 void setSplitterOpaqueResize(
bool b=
true);
1044 bool splitterOpaqueResize()
const;
1051 void setSplitterKeepSize(
bool b=
true);
1056 bool splitterKeepSize()
const;
1066 void setSplitterHighResolution(
bool b=
true);
1071 bool splitterHighResolution()
const;
1076 void setSpecialLeftDockContainer(
KDockWidget* container);
1077 void setSpecialTopDockContainer(
KDockWidget* container);
1078 void setSpecialRightDockContainer(
KDockWidget* container);
1079 void setSpecialBottomDockContainer(
KDockWidget* container);
1081 void removeFromAutoCreateList(
KDockWidget* pDockWidget);
1082 void finishReadDockConfig();
1083 void setReadDockConfigMode(
int mode);
1107 void slotMenuPopup();
1114 void slotMenuActivated(
int id);
1120 void drawDragRectangle();
1146 KDockWidget* findDockWidgetAt(
const TQPoint& pos );
1155 void findChildDockWidget( TQWidget*& w,
const TQWidget* p,
const TQPoint& pos );
1163 void findChildDockWidget(
const TQWidget* p, TQWidgetList*& l);
1209 TQWidgetList* childDockWidgetList;
1220 TQObjectList* childDock;
1225 TQObjectList* autoCreateDock;
1262 TQPtrList<MenuDockData> *menuData;
1265 virtual void virtual_hook(
int id,
void* data );
1267 class KDockManagerPrivate;
1268 KDockManagerPrivate *d;
1336 KDockMainWindow( TQWidget* parent = 0L,
const char *name = 0L, WFlags f = WType_TopLevel | WDestructiveClose );
1338 KDockMainWindow( TQWidget* parent = 0L,
const char *name = 0L, WFlags f = (WFlags)(WType_TopLevel | WDestructiveClose) );
1379 KDockWidget* createDockWidget(
const TQString& name,
const TQPixmap &pixmap, TQWidget* parent = 0L,
1380 const TQString& strCaption = TQString::null,
const TQString& strTabPageLabel = TQString::fromLatin1(
" " ) );
1385 void writeDockConfig(TQDomElement &base);
1389 void readDockConfig(TQDomElement &base);
1398 void writeDockConfig(
TDEConfig* c = 0L, TQString group = TQString::null );
1406 void readDockConfig (
TDEConfig* c = 0L, TQString group = TQString::null );
1452 void setView( TQWidget * widget );
1476 void slotDockWidgetUndocked();
1479 virtual void virtual_hook(
int id,
void* data );
1481 class KDockMainWindowPrivate;
1482 KDockMainWindowPrivate *d;
1485 class TDEUI_EXPORT KDockArea :
public TQWidget
1495 KDockArea( TQWidget* parent = 0L,
const char *name = 0L);
1497 virtual ~KDockArea();
1503 KDockWidget* getMainDockWidget(){
return mainDockWidget; }
1505 KDockWidget* createDockWidget(
const TQString& name,
const TQPixmap &pixmap, TQWidget* parent = 0L,
1506 const TQString& strCaption = TQString::null,
const TQString& strTabPageLabel = TQString::fromLatin1(
" " ) );
1508 void writeDockConfig(TQDomElement &base);
1509 void readDockConfig(TQDomElement &base);
1512 void writeDockConfig(
TDEConfig* c = 0L, TQString group = TQString::null );
1513 void readDockConfig (
TDEConfig* c = 0L, TQString group = TQString::null );
1518 void activateDock(){ dockManager->
activate(); }
1537 void slotDockWidgetUndocked();
1540 virtual void resizeEvent(TQResizeEvent *);
1543 virtual void virtual_hook(
int id,
void* data );
1545 class KDockMainWindowPrivate;
1546 KDockMainWindowPrivate *d;