![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00008 00010 00011 #pragma once 00012 00013 #include <vrvUtil/signalslib.h> 00014 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00015 #include <QtGui/QDockWidget> 00016 00017 namespace makVrv 00018 { 00019 class DtDe; 00020 } 00021 00022 namespace makVrf 00023 { 00024 00025 class DtExtendedTitleBarWidget; 00026 00032 class DT_DLL_VRFGUICOREQT DtAutoHideDock : public QDockWidget 00033 { 00034 Q_OBJECT 00035 00036 public: 00037 00038 enum DtAutoHideDockType 00039 { 00040 Palette = 0, 00041 Dialog 00042 }; 00043 00044 public: 00045 00047 DtAutoHideDock( makVrv::DtDe& de, const std::string title="", 00048 QWidget* parent = 0, Qt::WindowFlags flags = 0 ); 00049 00051 ~DtAutoHideDock(); 00052 00054 virtual QPixmap& icon(); 00055 virtual void setIcon(QPixmap& icon); 00056 00058 virtual DtAutoHideDockType dockType() const; 00059 virtual void setDockType(DtAutoHideDockType t); 00060 00062 virtual bool pinned() const; 00063 virtual void setPinned(bool flag); 00064 00066 virtual void setupGui(); 00067 00069 virtual void setTitle(const QString& title); 00070 00071 protected: 00072 00075 virtual bool eventFilter(QObject* p, QEvent* e); 00076 00078 virtual void enterEvent(QEvent* event); 00079 00081 virtual void leaveEvent(QEvent* event); 00082 00085 virtual void closeEvent(QCloseEvent* event); 00086 00089 virtual void paintEvent(QPaintEvent* p); 00090 00092 virtual void resizeEvent(QResizeEvent* event); 00093 00094 signals: 00095 00098 void signal_closing(DtAutoHideDock* dock); 00099 00102 void signal_pinPressed(DtAutoHideDock* dock); 00103 00107 void signal_topLevelChanged(DtAutoHideDock* dock); 00108 00110 void signal_resized(DtAutoHideDock* dock); 00111 00114 void signal_destroyed(DtAutoHideDock* dock); 00115 00118 void signal_enter(DtAutoHideDock* dock); 00119 00122 void signal_leave(DtAutoHideDock* dock); 00123 00124 protected slots: 00125 00128 virtual void slot_closePressed(); 00129 00132 virtual void slot_pinPressed(bool flag); 00133 00135 virtual void slot_topLevelChanged(bool); 00136 00137 protected: 00138 00139 makVrv::DtDe& myDe; 00140 DtExtendedTitleBarWidget* myTitleBarWidget; 00141 QPixmap myIcon; 00142 DtAutoHideDockType myDockType; 00143 }; 00144 }