12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
- #pragma once
- #if !defined(Q_MOC_RUN)
- #include "EditorCommonAPI.h"
- #include <QAbstractButton>
- #include <QWidget>
- #include <QPainter>
- #include <QDockWidget>
- #include <QBoxLayout>
- #include <vector>
- #endif
- class EDITOR_COMMON_API CDockTitleBarWidget
- : public QWidget
- {
- Q_OBJECT
- public:
- CDockTitleBarWidget(QDockWidget* dockWidget);
- QSize sizeHint() const override
- {
- QFontMetrics fm(font());
- return QSize(40, fm.height() + 8);
- }
- void AddCustomButton(const QIcon& icon, const char* tooltip, int id);
- signals:
- void SignalCustomButtonPressed(int id);
- private slots:
- void OnCloseButtonPressed();
- void OnFloatButtonPressed();
- void OnCustomButtonPressed();
- private:
- QDockWidget* m_dockWidget;
- QBoxLayout* m_layout;
- QBoxLayout* m_buttonLayout;
- QAbstractButton* m_floatButton;
- QAbstractButton* m_closeButton;
- struct SCustomButton
- {
- int id;
- QAbstractButton* button;
- };
- AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
- std::vector<SCustomButton> m_customButtons;
- AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
- };
|