Added support for multi edit piece id and color.

This commit is contained in:
Leonardo Zide
2024-03-02 17:37:46 -08:00
parent 45ab8e8d60
commit 34941219f5
7 changed files with 121 additions and 92 deletions
+20 -1
View File
@@ -90,6 +90,18 @@ void lcPiece::SetPieceInfo(PieceInfo* Info, const QString& ID, bool Wait)
}
}
bool lcPiece::SetPieceId(PieceInfo* Info)
{
if (mPieceInfo == Info)
return false;
lcPiecesLibrary* Library = lcGetPiecesLibrary();
Library->ReleasePieceInfo(mPieceInfo);
SetPieceInfo(Info, QString(), true);
return true;
}
void lcPiece::UpdateID()
{
mID = mPieceInfo->mFileName;
@@ -651,7 +663,11 @@ QVariant lcPiece::GetPropertyValue(lcObjectPropertyId PropertyId) const
switch (PropertyId)
{
case lcObjectPropertyId::PieceId:
return QVariant::fromValue<void*>(mPieceInfo);
case lcObjectPropertyId::PieceColor:
return GetColorIndex();
case lcObjectPropertyId::PieceStepShow:
case lcObjectPropertyId::PieceStepHide:
case lcObjectPropertyId::CameraName:
@@ -704,12 +720,15 @@ bool lcPiece::SetPropertyValue(lcObjectPropertyId PropertyId, lcStep Step, bool
{
Q_UNUSED(Step);
Q_UNUSED(AddKey);
Q_UNUSED(Value);
switch (PropertyId)
{
case lcObjectPropertyId::PieceId:
return SetPieceId(static_cast<PieceInfo*>(Value.value<void*>()));
case lcObjectPropertyId::PieceColor:
return SetColorIndex(Value.toInt());
case lcObjectPropertyId::PieceStepShow:
case lcObjectPropertyId::PieceStepHide:
case lcObjectPropertyId::CameraName: