Removed RunAction functions.

This commit is contained in:
Leonardo Zide
2026-02-28 13:33:35 -08:00
parent afa5b14283
commit 58357c7235
3 changed files with 38 additions and 62 deletions
+16 -42
View File
@@ -1799,17 +1799,6 @@ void lcModel::RecordRemoveFromSelectionAction(const std::vector<lcObject*>& Obje
RecordSelectionAction([this, &Objects](){ SetObjectsSelected(Objects, false); });
}
void lcModel::RunSelectionAction(const lcModelActionSelection* ModelActionSelection, bool Apply)
{
if (!ModelActionSelection)
return;
if (Apply)
ModelActionSelection->LoadEndState(this);
else
ModelActionSelection->LoadStartState(this);
}
template<typename StateType, typename ObjectType>
void lcModel::LoadObjectHistoryState(const std::vector<StateType>& ObjectStates, std::vector<std::unique_ptr<ObjectType>>& Objects)
{
@@ -1885,19 +1874,6 @@ void lcModel::EndObjectEditAction()
mActionSequence.pop_back();
}
void lcModel::RunObjectEditAction(const lcModelActionObjectEdit* ModelActionObjectEdit, bool Apply)
{
if (!ModelActionObjectEdit)
return;
if (Apply)
ModelActionObjectEdit->LoadEndState(this);
else
ModelActionObjectEdit->LoadStartState(this);
SetCurrentStep(mCurrentStep);
}
void lcModel::SetModelProperties(const lcModelProperties& ModelProperties)
{
mProperties = ModelProperties;
@@ -1919,33 +1895,31 @@ void lcModel::RecordModelPropertiesAction(const lcModelProperties& ModelProperti
mActionSequence.emplace_back(std::move(ModelActionProperties));
}
void lcModel::RunModelPropertiesAction(const lcModelActionProperties* ModelActionProperties, bool Apply)
{
if (!ModelActionProperties)
return;
if (Apply)
ModelActionProperties->LoadEndState(this);
else
ModelActionProperties->LoadStartState(this);
}
void lcModel::RunActionSequence(const std::vector<std::unique_ptr<lcModelAction>>& ActionSequence, bool Apply)
{
bool SelectionChanged = false;
auto RunAction=[this, &SelectionChanged](const lcModelAction* ModelAction, bool Apply)
{
if (const lcModelActionSelection* ModelActionSelection = dynamic_cast<const lcModelActionSelection*>(ModelAction))
if (!ModelAction)
return;
if (Apply)
ModelAction->LoadEndState(this);
else
ModelAction->LoadStartState(this);
if (dynamic_cast<const lcModelActionSelection*>(ModelAction))
{
RunSelectionAction(ModelActionSelection, Apply);
SelectionChanged = true;
}
else if (const lcModelActionObjectEdit* ModelActionObjectEdit = dynamic_cast<const lcModelActionObjectEdit*>(ModelAction))
RunObjectEditAction(ModelActionObjectEdit, Apply);
else if (const lcModelActionProperties* ModelActionProperties = dynamic_cast<const lcModelActionProperties*>(ModelAction))
RunModelPropertiesAction(ModelActionProperties, Apply);
else if (dynamic_cast<const lcModelActionObjectEdit*>(ModelAction))
{
SetCurrentStep(mCurrentStep);
}
else if (dynamic_cast<const lcModelActionProperties*>(ModelAction))
{
}
};
if (Apply)
+5 -8
View File
@@ -395,17 +395,14 @@ protected:
void RecordSelectionAction(std::function<void()> Callback);
void RecordClearSelectionAction();
void RecordSetFocusAction(lcObject* FocusObject, uint32_t FocusSection, lcSelectionMode SelectionMode);
void RecordSetSelectionAndFocusAction(const std::vector<lcObject*>& Objects, lcObject* FocusObject, uint32_t FocusSection, lcSelectionMode SelectionMode);
void RecordSelectAllPiecesAction();
void RecordInvertPieceSelectionAction();
void RecordAddToSelectionAction(const std::vector<lcObject*>& Objects);
void RecordRemoveFromSelectionAction(const std::vector<lcObject*>& Objects);
void RunSelectionAction(const lcModelActionSelection* ModelActionSelection, bool Apply);
void RecordSetSelectionAndFocusAction(const std::vector<lcObject*>& Objects, lcObject* FocusObject, uint32_t FocusSection, lcSelectionMode SelectionMode);
void RecordSelectAllPiecesAction();
void RecordInvertPieceSelectionAction();
void RecordAddToSelectionAction(const std::vector<lcObject*>& Objects);
void RecordRemoveFromSelectionAction(const std::vector<lcObject*>& Objects);
void BeginObjectEditAction();
void EndObjectEditAction();
void RunObjectEditAction(const lcModelActionObjectEdit* ModelActionObjectEdit, bool Apply);
void RecordModelPropertiesAction(const lcModelProperties& ModelProperties);
void RunModelPropertiesAction(const lcModelActionProperties* ModelActionProperties, bool Apply);
void RunActionSequence(const std::vector<std::unique_ptr<lcModelAction>>& ActionSequence, bool Apply);
void BeginActionSequence();
+17 -12
View File
@@ -10,6 +10,11 @@ class lcModelAction
public:
lcModelAction() = default;
virtual ~lcModelAction() = default;
virtual void SaveStartState(const lcModel* Model) = 0;
virtual void SaveEndState(const lcModel* Model) = 0;
virtual void LoadStartState(lcModel* Model) const = 0;
virtual void LoadEndState(lcModel* Model) const = 0;
};
struct lcModelActionSelectionState
@@ -34,10 +39,10 @@ public:
lcModelActionSelection() = default;
virtual ~lcModelActionSelection() = default;
void SaveStartState(const lcModel* Model);
void SaveEndState(const lcModel* Model);
void LoadStartState(lcModel* Model) const;
void LoadEndState(lcModel* Model) const;
void SaveStartState(const lcModel* Model) override;
void SaveEndState(const lcModel* Model) override;
void LoadStartState(lcModel* Model) const override;
void LoadEndState(lcModel* Model) const override;
bool StateChanged() const;
@@ -73,10 +78,10 @@ public:
lcModelActionObjectEdit() = default;
virtual ~lcModelActionObjectEdit() = default;
void SaveStartState(const lcModel* Model);
void SaveEndState(const lcModel* Model);
void LoadStartState(lcModel* Model) const;
void LoadEndState(lcModel* Model) const;
void SaveStartState(const lcModel* Model) override;
void SaveEndState(const lcModel* Model) override;
void LoadStartState(lcModel* Model) const override;
void LoadEndState(lcModel* Model) const override;
bool StateChanged() const;
@@ -94,10 +99,10 @@ public:
lcModelActionProperties() = default;
virtual ~lcModelActionProperties() = default;
void SaveStartState(const lcModel* Model);
void SaveEndState(const lcModel* Model);
void LoadStartState(lcModel* Model) const;
void LoadEndState(lcModel* Model) const;
void SaveStartState(const lcModel* Model) override;
void SaveEndState(const lcModel* Model) override;
void LoadStartState(lcModel* Model) const override;
void LoadEndState(lcModel* Model) const override;
bool StateChanged() const;