2022-02-06 20:28:46 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
|
|
|
|
#include "PanelWidget.hpp"
|
|
|
|
|
#include "PaneState.hpp"
|
|
|
|
|
|
|
|
|
|
namespace Bloom::Widgets
|
|
|
|
|
{
|
|
|
|
|
class PaneWidget: public QWidget
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
public:
|
2022-07-16 19:07:09 +01:00
|
|
|
bool activated = true;
|
|
|
|
|
bool attached = true;
|
2022-02-06 20:28:46 +00:00
|
|
|
PanelWidget* parentPanel = nullptr;
|
|
|
|
|
|
2022-07-16 19:07:09 +01:00
|
|
|
explicit PaneWidget(PanelWidget* parent);
|
2022-02-06 20:28:46 +00:00
|
|
|
|
|
|
|
|
[[nodiscard]] PaneState getCurrentState() const {
|
|
|
|
|
return PaneState(
|
|
|
|
|
this->activated
|
|
|
|
|
);
|
|
|
|
|
}
|
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-02-06 20:28:46 +00:00
|
|
|
};
|
|
|
|
|
}
|