51class PropertiesMenu :
public QFrame,
public MenuBase
56 PropertiesMenu(QWidget* parent);
58 VoidResult start(std::shared_ptr<SaveInfo> storage);
60 VoidResult onNodeAdded(
NodeItem* node)
override;
61 VoidResult onNodeRemoved(
const QString& nodeId)
override;
62 VoidResult onNodeModified(
NodeItem* node)
override;
63 VoidResult onNodeSelected(
NodeItem* node,
bool selected)
override;
67 VoidResult onCreateEvent(
NodeItem* node);
68 VoidResult onFlowRemoved(
const QString& flowId,
NodeItem* node);
70 QLayout* layout()
const;
73 void openParameter(
const QString& parameterId);
74 void nodeFocused(
const QString& nodeId);
75 void flowSelected(
const QString& flowId,
const QString& nodeId);
76 void flowRemoved(
const QString& flowId,
const QString& nodeId);
81 IdRole = Qt::UserRole,
82 ModifiableRole = Qt::UserRole + 1,
86 QDialog* mCurrentDialog =
nullptr;
87 std::shared_ptr<SaveInfo> mStorage;
91 VoidResult loadProperties(
NodeItem* node);
92 VoidResult loadValueProperty(
const std::shared_ptr<IParameter>& property,
NodeItem* node);
93 VoidResult loadColorProperty(
const std::shared_ptr<IParameter>& property,
NodeItem* node);
94 VoidResult loadSelectProperty(
const std::shared_ptr<IParameter>& property,
NodeItem* node);
95 VoidResult loadComponentSelectProperty(
const std::shared_ptr<IParameter>& property,
NodeItem* node);
97 VoidResult loadCallArguments(
const std::shared_ptr<FlowSaveInfo>& call,
const QString& propertyId,
NodeItem* node,
maki::WidgetGroup* group);
99 void addCompleter(
maki::InputWidget* editor,
const QString& nodeId,
const koda::types::TypeReference& type, QStringList additionalValues = {});
102 VoidResult loadControls(
NodeItem* node);
103 Result<QTableWidget*> loadEventTable(
NodeItem* node);
104 VoidResult loadControlAddEvent(QTableWidget* table,
NodeItem* node);
106 void openEventDialog(QTableWidget* table,
NodeItem* node,
int row);
107 void addEventToTable(QTableWidget* table,
int row,
const std::shared_ptr<FlowSaveInfo>& event);
108 void removeEventFromTable(QTableWidget* table,
NodeItem* node);
110 void updateBlockName(
NodeItem* node,
const QString& componentName,
const QString& eventName)
const;
112 std::shared_ptr<IFlow> getFlowConfigOfRow(
const NodeItem* node, QTableWidget* table,
int row)
const;