void ezQtTypeWidget::UpdateProperty(const ezDocumentObject* pObject, const ezString& sProperty) { if (std::none_of(cbegin(m_Items), cend(m_Items), [=](const ezPropertySelection& sel) { return pObject == sel.m_pObject; })) return; if (!m_QueuedChanges.Contains(sProperty)) { m_QueuedChanges.PushBack(sProperty); } // In case the change happened outside the command history we have to update at once. if (!m_pGrid->GetCommandHistory()->IsInTransaction() && !m_pGrid->GetCommandHistory()->IsInUndoRedo()) FlushQueuedChanges(); }
void ezQtEmbeddedClassPropertyWidget::CommandHistoryEventHandler(const ezCommandHistoryEvent& e) { if (IsUndead()) return; switch (e.m_Type) { case ezCommandHistoryEvent::Type::UndoEnded: case ezCommandHistoryEvent::Type::RedoEnded: case ezCommandHistoryEvent::Type::TransactionEnded: case ezCommandHistoryEvent::Type::TransactionCanceled: { FlushQueuedChanges(); } break; default: break; } }