Qt-Advanced-Docking-System/sip/DockWidget.sip

159 lines
4.8 KiB
Plaintext
Raw Normal View History

2019-10-09 20:15:53 +08:00
%Import QtWidgets/QtWidgetsmod.sip
%If (Qt_5_0_0 -)
namespace ads
{
class CDockWidget : QFrame
{
%TypeHeaderCode
#include <DockWidget.h>
%End
protected:
void setDockManager(ads::CDockManager* DockManager /Transfer/ );
void setDockArea(ads::CDockAreaWidget* DockArea /Transfer/ );
void setToggleViewActionChecked(bool Checked);
void saveState(QXmlStreamWriter& Stream) const;
void flagAsUnassigned();
static void emitTopLevelEventForWidget(ads::CDockWidget* TopLevelDockWidget, bool Floating);
void emitTopLevelChanged(bool Floating);
void setClosedState(bool Closed);
void toggleViewInternal(bool Open);
bool closeDockWidgetInternal(bool ForceClose = false);
2019-10-09 20:15:53 +08:00
public:
enum DockWidgetFeature
{
DockWidgetClosable,
DockWidgetMovable,
DockWidgetFloatable,
DockWidgetDeleteOnClose,
CustomCloseHandling,
DockWidgetFocusable,
DockWidgetForceCloseWithArea,
NoTab,
DeleteContentOnClose,
DockWidgetPinnable,
DefaultDockWidgetFeatures,
AllDockWidgetFeatures,
DockWidgetAlwaysCloseAndDelete,
2024-04-04 05:49:08 +08:00
GloballyLockableFeatures,
2019-10-09 20:15:53 +08:00
NoDockWidgetFeatures
};
typedef QFlags<ads::CDockWidget::DockWidgetFeature> DockWidgetFeatures;
enum eState
{
StateHidden,
StateDocked,
StateFloating
};
2024-04-04 05:49:08 +08:00
enum eToolBarStyleSource
{
ToolBarStyleFromDockManager,
ToolBarStyleFromDockWidget
};
2019-10-09 20:15:53 +08:00
enum eInsertMode
{
AutoScrollArea,
ForceScrollArea,
ForceNoScrollArea
};
enum eMinimumSizeHintMode
{
MinimumSizeHintFromDockWidget,
2023-07-03 20:09:48 +08:00
MinimumSizeHintFromContent,
MinimumSizeHintFromDockWidgetMinimumSize,
MinimumSizeHintFromContentMinimumSize,
};
2019-10-09 20:15:53 +08:00
enum eToggleViewActionMode
{
ActionModeToggle,
ActionModeShow
};
2024-04-04 05:49:08 +08:00
CDockWidget(const QString &title, QWidget* parent /TransferThis/ = Q_NULLPTR);
2019-10-09 20:15:53 +08:00
virtual ~CDockWidget();
virtual QSize minimumSizeHint() const;
void setWidget(QWidget* widget /Transfer/, ads::CDockWidget::eInsertMode InsertMode = AutoScrollArea);
QWidget* takeWidget() /TransferBack/;
QWidget* widget() const;
ads::CDockWidgetTab* tabWidget() const;
void setFeatures(ads::CDockWidget::DockWidgetFeatures features);
void setFeature(ads::CDockWidget::DockWidgetFeature flag, bool on);
ads::CDockWidget::DockWidgetFeatures features() const;
2024-04-04 05:49:08 +08:00
void notifyFeaturesChanged();
2019-10-09 20:15:53 +08:00
ads::CDockManager* dockManager() const;
ads::CDockContainerWidget* dockContainer() const;
ads::CFloatingDockContainer* floatingDockContainer() const;
2019-10-09 20:15:53 +08:00
ads::CDockAreaWidget* dockAreaWidget() const;
ads::CAutoHideTab* sideTabWidget() const;
void setSideTabWidget(ads::CAutoHideTab* SideTab /Transfer/) const;
bool isAutoHide() const;
ads::CAutoHideDockContainer* autoHideDockContainer() const;
2023-08-03 02:23:49 +08:00
ads::SideBarLocation autoHideLocation() const;
2019-10-09 20:15:53 +08:00
bool isFloating() const;
bool isInFloatingContainer() const;
bool isClosed() const;
QAction* toggleViewAction() const;
2024-04-04 05:49:08 +08:00
void setToggleViewAction(QAction* action);
2019-10-09 20:15:53 +08:00
void setToggleViewActionMode(ads::CDockWidget::eToggleViewActionMode Mode);
void setMinimumSizeHintMode(ads::CDockWidget::eMinimumSizeHintMode Mode);
2023-07-03 20:09:48 +08:00
ads::CDockWidget::eMinimumSizeHintMode minimumSizeHintMode() const;
bool isCentralWidget() const;
2019-10-09 20:15:53 +08:00
void setIcon(const QIcon& Icon);
QIcon icon() const;
QToolBar* toolBar() const;
QToolBar* createDefaultToolBar();
void setToolBar(QToolBar* ToolBar /Transfer/ );
2024-04-04 05:49:08 +08:00
void setToolBarStyleSource(ads::CDockWidget::eToolBarStyleSource Source);
ads::CDockWidget::eToolBarStyleSource toolBarStyleSource() const;
2019-10-09 20:15:53 +08:00
void setToolBarStyle(Qt::ToolButtonStyle Style, ads::CDockWidget::eState State);
Qt::ToolButtonStyle toolBarStyle(ads::CDockWidget::eState State) const;
void setToolBarIconSize(const QSize& IconSize, ads::CDockWidget::eState State);
QSize toolBarIconSize(eState State) const;
void setTitleBarActions(QList<QAction*> actions);
virtual QList<QAction*> titleBarActions() const;
2019-10-09 20:15:53 +08:00
void setTabToolTip(const QString &text);
bool isFullScreen() const;
bool isTabbed() const;
bool isCurrentTab() const;
2019-10-09 20:15:53 +08:00
public:
virtual bool event(QEvent *e);
public slots:
void toggleView(bool Open = true);
void setAsCurrentTab();
void raise();
2019-12-19 06:21:34 +08:00
void setFloating();
void deleteDockWidget();
void closeDockWidget();
2023-08-03 02:23:49 +08:00
void requestCloseDockWidget();
void showFullScreen();
void showNormal();
2023-08-03 02:23:49 +08:00
void setAutoHide(bool Enable, ads::SideBarLocation Location = ads::SideBarNone, int TabIndex = -1);
void toggleAutoHide(ads::SideBarLocation Location = ads::SideBarNone);
2019-10-09 20:15:53 +08:00
signals:
void viewToggled(bool Open);
void closed();
void titleChanged(const QString& Title);
void topLevelChanged(bool topLevel);
void closeRequested();
void visibilityChanged(bool visible);
void featuresChanged(ads::CDockWidget::DockWidgetFeatures features);
2019-10-09 20:15:53 +08:00
};
};
%End