2022-02-06 20:28:46 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <QWidget>
|
2022-08-08 22:26:32 +01:00
|
|
|
#include <QEvent>
|
2022-07-19 22:31:36 +01:00
|
|
|
#include <optional>
|
2022-02-06 20:28:46 +00:00
|
|
|
|
|
|
|
|
#include "PanelWidget.hpp"
|
|
|
|
|
#include "PaneState.hpp"
|
|
|
|
|
|
|
|
|
|
namespace Bloom::Widgets
|
|
|
|
|
{
|
|
|
|
|
class PaneWidget: public QWidget
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
public:
|
2022-08-08 22:26:32 +01:00
|
|
|
PaneState& state;
|
2022-02-06 20:28:46 +00:00
|
|
|
PanelWidget* parentPanel = nullptr;
|
|
|
|
|
|
2022-08-08 22:26:32 +01:00
|
|
|
explicit PaneWidget(PaneState& state, PanelWidget* parent);
|
2022-07-16 19:07:09 +01:00
|
|
|
|
|
|
|
|
void activate();
|
|
|
|
|
void deactivate();
|
|
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
void paneActivated();
|
|
|
|
|
void paneDeactivated();
|
|
|
|
|
void paneAttached();
|
|
|
|
|
void paneDetached();
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
void detach();
|
|
|
|
|
void attach();
|
2022-07-19 22:30:23 +01:00
|
|
|
|
2022-08-08 22:26:32 +01:00
|
|
|
void resizeEvent(QResizeEvent* event) override;
|
|
|
|
|
void moveEvent(QMoveEvent* event) override;
|
2022-07-19 22:30:23 +01:00
|
|
|
void closeEvent(QCloseEvent* event) override;
|
2022-02-06 20:28:46 +00:00
|
|
|
};
|
|
|
|
|
}
|