-- fyerabend

This commit is contained in:
2025-08-08 21:39:33 +02:00
parent 666a2a9440
commit 5919d9d90d
15 changed files with 228 additions and 257 deletions

View File

@@ -30,33 +30,47 @@ size_t XQItemType::s_ItemTypeCount = 0;
XQItemType::XQItemType()
: XQItem(nullptr) // vermeide rekursion
{
}
XQItemType::XQItemType( const XQItemType& other)
: XQItem( other )
{
}
//! destruktor, räumt das fixedChoices auf, so vorhanden.
XQItemType::~XQItemType()
{
// das einzige property, was auch auf dem heap liegt.
QStandardItemModel* choices = fixedChoices();
if( choices )
{
setfixedChoices( nullptr );
delete choices;
}
}
//! ruft QStandardItem::data auf
QVariant XQItemType::data( int role ) const
{
return QStandardItem::data(role);
}
//! ruft QStandardItem::setData auf
void XQItemType::setData(const QVariant &value, int role )
{
return QStandardItem::setData(value,role);
}
//! setzt einen attributwert neu. Ggf. wird ein neuer ItemType erzeugt.
void XQItemType::replaceAttribute( XQItem* item, const QVariant& newValue, int role )
{
// hat sich überhaupt was geändert?
@@ -82,20 +96,26 @@ void XQItemType::replaceAttribute( XQItem* item, const QVariant& newValue, int r
// und ins item übernehmen
item->setItemType( myClone );
/// Obacht! Der alte, geänderte itemType bleibt erhaltent
/// Obacht! Der alte, geänderte itemType bleibt erhalten
/// und verrottet ggf. ohne Daseinszweck
}
}
}
QString XQItemType::formatToSI( const QString& valueTxt ) const
QVariant XQItemType::formatText( const XQItem& item ) const
{
/*
return "type says:"+ item.content();
}
//! firz
QString XQItemType::formatToSI( const QString& valueTxt, XQItem::UnitType unitType ) const
{
if( valueTxt.isEmpty() )
return valueTxt;
if( XQItem::ISODate == _unitType )
if( XQItem::ISODate == unitType )
{
// format iso date
QDateTime dateTime = QDateTime::fromString(valueTxt, Qt::ISODate);
@@ -122,14 +142,14 @@ QString XQItemType::formatToSI( const QString& valueTxt ) const
//qDebug() << " convert: " << dVal << " : " << valueTxt << ": " << strVal << ":" << exp << " : " << strPrefix << ": " << nVal;
return QString("%1 %2%3").arg( strVal, strPrefix, unitTypeToString() );
*/
return "fitze!";
}
//! firz
QString XQItemType::unFormatFromSI(const QString& formText ) const
{
/*
QString input = formText.simplified();
// #1: strip numeric part
if( input.isEmpty() )
@@ -167,14 +187,15 @@ QString XQItemType::unFormatFromSI(const QString& formText ) const
//qDebug() << " convert: " << numPart << " : " << unitPart << " : " << dVal << " : " << result;
return result;
*/
return "fitze!";
}
///
/// --- statics --------------------------------------------------------------------------
///
//! gibt den dummy item type zurück (benutzt für null-items).
XQItemType* XQItemType::staticItemType()
{
static XQItemType s_DummyItemType;
@@ -182,6 +203,8 @@ XQItemType* XQItemType::staticItemType()
}
//! erzeugt aus den eingenschaften des itemTypes einen eindeutigen schlüssel.
QString XQItemType::makeItemTypeKey()
{
QString key("%1:%2:%3:%4:%5:%6:%7");