DiagramDesigner/diagramCavas/include/evetConfig/panelVisibilityEventHandler.h

27 lines
865 B
C
Raw Normal View History

2026-04-10 17:43:35 +08:00
#pragma once
/****************************
*
* *************************/
#include "eventHandler.h"
class PanelVisibilityEventHandler : public EventHandler {
public:
bool canHandle(const QString& eventType) const override {
return eventType == "showPanel" || eventType == "hidePanel";
}
void handle(const EventData& event, GraphicsFunctionModelItem* item) override {
QString panelId = event.parameters.value("panelId").toString();
bool show = event.type == "showPanel";
if (event.parameters.contains("show")) {
show = event.parameters.value("show").toBool();
}
if (auto context = item->eventContext()) {
context->emitPanelVisibilityChanged(panelId, show);
}
}
QString handlerName() const override { return "PanelVisibilityHandler"; }
};