Updated xitemdefdata

This commit is contained in:
njohnson 2025-09-07 23:15:59 -04:00
parent 6a41e543ee
commit df1bad5380
2 changed files with 73 additions and 33 deletions

View File

@ -1,41 +1,78 @@
#include "xglyph.h" #include "xitemdefdata.h"
#include "xitemdef.h"
XGlyph::XGlyph() XItemDefData::XItemDefData()
: XAsset() : XAsset()
, mLetter(0) , mListBox()
, mX0(0) , mEditField()
, mY0(0) , mMulti()
, mDx(0) , mEnumDvarName()
, mPixelWidth(0) , mParent(nullptr)
, mPixelHeight(0)
, mS0(0)
, mT0(0)
, mS1(0)
, mT1(0)
{ {
} }
XGlyph::~XGlyph() XItemDefData::XItemDefData(XItemDef &aParent)
: XAsset()
, mListBox()
, mEditField()
, mMulti()
, mEnumDvarName()
, mParent(&aParent)
{ {
} }
void XGlyph::Clear() XItemDefData::~XItemDefData()
{ {
mLetter = 0; delete mParent;
mX0 = 0;
mY0 = 0;
mDx = 0;
mPixelWidth = 0;
mPixelHeight = 0;
mS0 = 0;
mT0 = 0;
mS1 = 0;
mT1 = 0;
} }
void XGlyph::ParseData(QDataStream *aStream) void XItemDefData::Clear()
{ {
mListBox.Clear();
mEditField.Clear();
mMulti.Clear();
mEnumDvarName.Clear();
mParent = nullptr;
}
void XItemDefData::ParseData(QDataStream *aStream)
{
if (!mParent)
{
return;
}
mListBox.ParsePtr(aStream, false);
mEditField.ParsePtr(aStream, false);
mMulti.ParsePtr(aStream, false);
mEnumDvarName.ParsePtr(aStream, false);
qint32 dataPtr;
*aStream >> dataPtr;
switch (mParent->GetType())
{
case 6:
mListBox.ParseData(aStream);
break;
case 0:
case 4:
case 9:
case 10:
case 11:
case 14:
case 16:
case 17:
case 18:
mListBox.ParseData(aStream);
break;
case 12:
mMulti.ParseData(aStream);
break;
case 13:
mEnumDvarName.ParseData(aStream);
break;
}
} }

View File

@ -6,21 +6,24 @@
#include "xeditfielddefinition.h" #include "xeditfielddefinition.h"
#include "xmultidef.h" #include "xmultidef.h"
class XItemDef;
class XItemDefData : public XAsset class XItemDefData : public XAsset
{ {
public: public:
explicit XItemDefData(); explicit XItemDefData();
XItemDefData(XItemDef& aParent);
~XItemDefData(); ~XItemDefData();
void Clear() override; void Clear() override;
void ParseData(QDataStream *aStream) override; void ParseData(QDataStream *aStream) override;
private: private:
XListBoxDef *listBox; XListBoxDef mListBox;
XEditFieldDefinition *editField; XEditFieldDefinition mEditField;
XMultiDef *multi; XMultiDef mMulti;
const char *enumDvarName; XString mEnumDvarName;
void *data; XItemDef* mParent;
}; };
#endif // XITEMDEFDATA_H #endif // XITEMDEFDATA_H