[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [okteta] kasten/controllers/view/structures/datatypes: structures: refactor DataInformation::valueSt
From: Alex Richardson <arichardson.kde () googlemail ! com>
Date: 2013-03-12 23:40:12
Message-ID: 20130312234012.396B8A60F1 () git ! kde ! org
[Download RAW message or body]
Git commit 3d838c777b91b72d260987ed54fa6da169bcebca by Alex Richardson.
Committed on 12/03/2013 at 21:27.
Pushed by arichardson into branch 'master'.
structures: refactor DataInformation::valueString()/typeName()
Split the method into an inline non-virtual and a virtual method
This allows changing the behaviour for all classes modifying only one
method.
M +4 -6 kasten/controllers/view/structures/datatypes/array/arraydatainformation.h
M +5 -5 kasten/controllers/view/structures/datatypes/datainformation.cpp
M +20 -4 kasten/controllers/view/structures/datatypes/datainformation.h
M +1 -1 kasten/controllers/view/structures/datatypes/dummydatainformation.cpp
M +2 -2 kasten/controllers/view/structures/datatypes/dummydatainformation.h
M +0 -7 kasten/controllers/view/structures/datatypes/primitive/basicprimitivedatainformation.cpp
M +12 -5 kasten/controllers/view/structures/datatypes/primitive/basicprimitivedatainformation.h
M +1 -0 kasten/controllers/view/structures/datatypes/primitive/bitfield/abstractbitfielddatainformation.h
M +1 -1 kasten/controllers/view/structures/datatypes/primitive/bitfield/boolbitfielddatainformation.cpp
M +4 -3 kasten/controllers/view/structures/datatypes/primitive/bitfield/boolbitfielddatainformation.h
M +1 -1 kasten/controllers/view/structures/datatypes/primitive/bitfield/signedbitfielddatainformation.cpp
M +4 -3 kasten/controllers/view/structures/datatypes/primitive/bitfield/signedbitfielddatainformation.h
M +1 -1 kasten/controllers/view/structures/datatypes/primitive/bitfield/unsignedbitfielddatainformation.cpp
M +4 -3 kasten/controllers/view/structures/datatypes/primitive/bitfield/unsignedbitfielddatainformation.h
M +2 -2 kasten/controllers/view/structures/datatypes/primitive/enumdatainformation.cpp
M +3 -3 kasten/controllers/view/structures/datatypes/primitive/enumdatainformation.h
M +2 -2 kasten/controllers/view/structures/datatypes/primitive/flagdatainformation.cpp
M +3 -2 kasten/controllers/view/structures/datatypes/primitive/flagdatainformation.h
M +2 -2 kasten/controllers/view/structures/datatypes/primitive/pointerdatainformation.cpp
M +3 -3 kasten/controllers/view/structures/datatypes/primitive/pointerdatainformation.h
M +2 -2 kasten/controllers/view/structures/datatypes/strings/stringdatainformation.cpp
M +3 -4 kasten/controllers/view/structures/datatypes/strings/stringdatainformation.h
M +1 -1 kasten/controllers/view/structures/datatypes/structuredatainformation.cpp
M +2 -1 kasten/controllers/view/structures/datatypes/structuredatainformation.h
M +1 -2 kasten/controllers/view/structures/datatypes/taggeduniondatainformation.cpp
M +3 -5 kasten/controllers/view/structures/datatypes/taggeduniondatainformation.h
M +1 -1 kasten/controllers/view/structures/datatypes/uniondatainformation.cpp
M +2 -2 kasten/controllers/view/structures/datatypes/uniondatainformation.h
http://commits.kde.org/okteta/3d838c777b91b72d260987ed54fa6da169bcebca
diff --git a/kasten/controllers/view/structures/datatypes/array/arraydatainformation.h \
b/kasten/controllers/view/structures/datatypes/array/arraydatainformation.h index \
5046b3f..ba3cd45 100644
--- a/kasten/controllers/view/structures/datatypes/array/arraydatainformation.h
+++ b/kasten/controllers/view/structures/datatypes/array/arraydatainformation.h
@@ -46,7 +46,6 @@ public:
DataInformation* parent = 0, const QScriptValue& lengthFuntion = \
QScriptValue()); virtual ~ArrayDataInformation();
public:
- virtual QString typeName() const;
uint length() const;
virtual QWidget* createEditWidget(QWidget* parent) const;
virtual QVariant dataFromWidget(const QWidget* w) const;
@@ -87,9 +86,10 @@ public:
void setLengthFunction(QScriptValue newFunc);
QScriptValue childToScriptValue(uint index, QScriptEngine* engine, \
ScriptHandlerInfo* handlerInfo) const;
virtual BitCount64 childPosition(const DataInformation* child, Okteta::Address \
start) const;
-protected:
+private:
virtual QScriptClass* scriptClass(ScriptHandlerInfo* handlerInfo) const;
-protected:
+ virtual QString typeNameImpl() const;
+private:
QScopedPointer<AbstractArrayData> mData;
static const uint MAX_LEN = 10000;
};
@@ -99,11 +99,9 @@ inline uint ArrayDataInformation::length() const
return mData->length();
}
-inline QString ArrayDataInformation::typeName() const
+inline QString ArrayDataInformation::typeNameImpl() const
{
return mData->typeName();
- //don't show name of child
- //return i18nc("array type then length", "%1[%2]", data->typeName(), \
childCount()); //TODO }
inline BitCount32 ArrayDataInformation::size() const
diff --git a/kasten/controllers/view/structures/datatypes/datainformation.cpp \
b/kasten/controllers/view/structures/datatypes/datainformation.cpp index \
c7017d4..0a0a99c 100644
--- a/kasten/controllers/view/structures/datatypes/datainformation.cpp
+++ b/kasten/controllers/view/structures/datatypes/datainformation.cpp
@@ -50,11 +50,6 @@ DataInformation::~DataInformation()
{
}
-QString DataInformation::valueString() const
-{
- return QString();
-}
-
QString DataInformation::sizeString() const
{
if (size() % 8 == 0) //no bits remaining
@@ -69,6 +64,11 @@ QString DataInformation::sizeString() const
}
}
+QString DataInformation::valueStringImpl() const
+{
+ return QString();
+}
+
BitCount64 DataInformation::positionInFile(Okteta::Address start) const
{
Q_CHECK_PTR(mParent);
diff --git a/kasten/controllers/view/structures/datatypes/datainformation.h \
b/kasten/controllers/view/structures/datatypes/datainformation.h index \
0f9df8b..4f00503 100644
--- a/kasten/controllers/view/structures/datatypes/datainformation.h
+++ b/kasten/controllers/view/structures/datatypes/datainformation.h
@@ -116,9 +116,9 @@ public:
/** get the necessary data (for the model) */
virtual QVariant data(int column, int role) const;
- virtual QString typeName() const = 0;
+ QString typeName() const;
/** by default just returns an empty QString */
- virtual QString valueString() const;
+ QString valueString() const;
QString name() const;
void setName(const QString& newName);
virtual QString tooltipString() const;
@@ -214,11 +214,14 @@ public:
*/
virtual int indexOf(const DataInformation* const data) const = 0;
protected:
- /** So that this object can be wrapped by the correct javascript object*/
- virtual QScriptClass* scriptClass(ScriptHandlerInfo* handlerInfo) const = 0;
static QVariant eofReachedData(int role);
void setAdditionalFunction(AdditionalData::AdditionalDataType entry, const \
QScriptValue& value, const char* name); private:
+ virtual QString valueStringImpl() const;
+ virtual QString typeNameImpl() const = 0;
+ /** So that this object can be wrapped by the correct javascript object*/
+ virtual QScriptClass* scriptClass(ScriptHandlerInfo* handlerInfo) const = 0;
+private:
void setValidationError(QString errorMessage); //only called by ScriptHandler
QSysInfo::Endian byteOrderFromSettings() const; //so there is no need to include \
structviewpreferences.h here protected:
@@ -381,4 +384,17 @@ inline QSysInfo::Endian DataInformation::effectiveByteOrder() \
const }
}
+inline QString DataInformation::typeName() const
+{
+ //TODO support custom types
+ return typeNameImpl();
+}
+
+inline QString DataInformation::valueString() const
+{
+ return valueStringImpl();
+}
+
+
+
#endif /* DATAINFORMATION_H_ */
diff --git a/kasten/controllers/view/structures/datatypes/dummydatainformation.cpp \
b/kasten/controllers/view/structures/datatypes/dummydatainformation.cpp index \
40222d3..a90df6a 100644
--- a/kasten/controllers/view/structures/datatypes/dummydatainformation.cpp
+++ b/kasten/controllers/view/structures/datatypes/dummydatainformation.cpp
@@ -85,7 +85,7 @@ QWidget* DummyDataInformation::createEditWidget(QWidget* parent) \
const return parentHelper()->createChildEditWidget(mIndex, parent);
}
-QString DummyDataInformation::typeName() const
+QString DummyDataInformation::typeNameImpl() const
{
return parentHelper()->childTypeName(mIndex);
}
diff --git a/kasten/controllers/view/structures/datatypes/dummydatainformation.h \
b/kasten/controllers/view/structures/datatypes/dummydatainformation.h index \
be5de85..dcddbc9 100644
--- a/kasten/controllers/view/structures/datatypes/dummydatainformation.h
+++ b/kasten/controllers/view/structures/datatypes/dummydatainformation.h
@@ -45,7 +45,6 @@ public:
virtual QVariant dataFromWidget(const QWidget* w) const;
virtual QWidget* createEditWidget(QWidget* parent) const;
virtual Qt::ItemFlags flags(int column, bool fileLoaded = true) const;
- virtual QString typeName() const;
virtual bool isDummy() const;
virtual QVariant data(int column, int role) const;
@@ -60,8 +59,9 @@ public:
inline void setDummyIndex(uint newIndex) { mIndex = newIndex; }
inline uint dummyIndex() const { return mIndex; }
-protected:
+private:
virtual QScriptClass* scriptClass(ScriptHandlerInfo*) const { Q_ASSERT(false); \
return 0; } + virtual QString typeNameImpl() const;
private:
uint mIndex;
DataInformationWithDummyChildren* parentHelper() const;
diff --git a/kasten/controllers/view/structures/datatypes/primitive/basicprimitivedatainformation.cpp \
b/kasten/controllers/view/structures/datatypes/primitive/basicprimitivedatainformation.cpp
index 1a43608..64f90e8 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/basicprimitivedatainformation.cpp
+++ b/kasten/controllers/view/structures/datatypes/primitive/basicprimitivedatainformation.cpp
@@ -46,13 +46,6 @@ inline QScriptClass* BasicPrimitiveDataInformation<T, \
C>::scriptClass(ScriptHand }
template<typename T, typename C>
-QString BasicPrimitiveDataInformation<T, C>::valueString() const
-{
- Q_ASSERT(mWasAbleToRead);
- return C::staticValueString(mValue);
-}
-
-template<typename T, typename C>
QScriptValue BasicPrimitiveDataInformation<T, C>::valueAsQScriptValue() const
{
return C::asScriptValue(mValue, 0, 0);
diff --git a/kasten/controllers/view/structures/datatypes/primitive/basicprimitivedatainformation.h \
b/kasten/controllers/view/structures/datatypes/primitive/basicprimitivedatainformation.h
index 1dc9f46..1eb483f 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/basicprimitivedatainformation.h
+++ b/kasten/controllers/view/structures/datatypes/primitive/basicprimitivedatainformation.h
@@ -35,11 +35,9 @@ class BasicPrimitiveDataInformation : public \
PrimitiveDataInformation public:
BasicPrimitiveDataInformation(const QString& name, DataInformation* parent = 0);
virtual ~BasicPrimitiveDataInformation();
- virtual QString typeName() const;
virtual PrimitiveDataType type() const;
virtual AllPrimitiveTypes value() const;
virtual void setValue(AllPrimitiveTypes newVal);
- virtual QString valueString() const;
virtual BasicPrimitiveDataInformation<T, C>* clone() const;
virtual QWidget* createEditWidget(QWidget* parent) const;
@@ -52,10 +50,12 @@ public:
Okteta::Address address, BitCount64 bitsRemaining, quint8 bitOffset);
virtual qint64 readData(Okteta::AbstractByteArrayModel *input, Okteta::Address \
address, BitCount64 bitsRemaining, quint8* bitOffset);
-
protected:
- virtual QScriptClass* scriptClass(ScriptHandlerInfo* handlerInfo) const;
BasicPrimitiveDataInformation(const BasicPrimitiveDataInformation<T, C>& d);
+private:
+ virtual QString valueStringImpl() const;
+ virtual QString typeNameImpl() const;
+ virtual QScriptClass* scriptClass(ScriptHandlerInfo* handlerInfo) const;
protected:
T mValue;
};
@@ -80,7 +80,7 @@ inline BasicPrimitiveDataInformation<T, \
C>::~BasicPrimitiveDataInformation() }
template<typename T, typename C>
-inline QString BasicPrimitiveDataInformation<T, C>::typeName() const
+inline QString BasicPrimitiveDataInformation<T, C>::typeNameImpl() const
{
return PrimitiveType::typeName(C::staticType());
}
@@ -134,4 +134,11 @@ inline BasicPrimitiveDataInformation<T, C>* \
BasicPrimitiveDataInformation<T, C>: return new BasicPrimitiveDataInformation<T, \
C>(*this); }
+template<typename T, typename C>
+QString BasicPrimitiveDataInformation<T, C>::valueStringImpl() const
+{
+ Q_ASSERT(mWasAbleToRead);
+ return C::staticValueString(mValue);
+}
+
#endif /* BASICPRIMITIVEDATAINFORMATION_H_ */
diff --git a/kasten/controllers/view/structures/datatypes/primitive/bitfield/abstractbitfielddatainformation.h \
b/kasten/controllers/view/structures/datatypes/primitive/bitfield/abstractbitfielddatainformation.h
index d4994fa..0fa2ed2 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/bitfield/abstractbitfielddatainformation.h
+++ b/kasten/controllers/view/structures/datatypes/primitive/bitfield/abstractbitfielddatainformation.h
@@ -49,6 +49,7 @@ public:
protected:
AbstractBitfieldDataInformation(const AbstractBitfieldDataInformation& d);
virtual AllPrimitiveTypes fromVariant(const QVariant& variant, bool* ok) const;
+private:
virtual QScriptClass* scriptClass(ScriptHandlerInfo* handlerInfo) const;
protected:
AllPrimitiveTypes mValue;
diff --git a/kasten/controllers/view/structures/datatypes/primitive/bitfield/boolbitfielddatainformation.cpp \
b/kasten/controllers/view/structures/datatypes/primitive/bitfield/boolbitfielddatainformation.cpp
index b1e18ea..69313ff 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/bitfield/boolbitfielddatainformation.cpp
+++ b/kasten/controllers/view/structures/datatypes/primitive/bitfield/boolbitfielddatainformation.cpp
@@ -28,7 +28,7 @@
#include "../../../../poddecoder/typeeditors/uintspinbox.h"
-QString BoolBitfieldDataInformation::valueString() const
+QString BoolBitfieldDataInformation::valueStringImpl() const
{
Q_ASSERT(mWasAbleToRead);
return BoolDataInformationMethods<quint64>::staticValueString(mValue.value<quint64>());
diff --git a/kasten/controllers/view/structures/datatypes/primitive/bitfield/boolbitfielddatainformation.h \
b/kasten/controllers/view/structures/datatypes/primitive/bitfield/boolbitfielddatainformation.h
index e8b1951..947a74a 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/bitfield/boolbitfielddatainformation.h
+++ b/kasten/controllers/view/structures/datatypes/primitive/bitfield/boolbitfielddatainformation.h
@@ -35,15 +35,16 @@ public:
: AbstractBitfieldDataInformation(name, width, parent) {}
virtual ~BoolBitfieldDataInformation() {}
- QString typeName() const;
- virtual QString valueString() const;
virtual QScriptValue valueAsQScriptValue() const;
virtual QWidget* createEditWidget(QWidget* parent) const;
virtual QVariant dataFromWidget(const QWidget* w) const;
virtual void setWidgetData(QWidget* w) const;
+private:
+ virtual QString valueStringImpl() const;
+ virtual QString typeNameImpl() const;
};
-inline QString BoolBitfieldDataInformation::typeName() const
+inline QString BoolBitfieldDataInformation::typeNameImpl() const
{
return i18ncp("Data type", "boolean bitfield (%1 bit wide)", "boolean bitfield \
(%1 bits wide)", width());
diff --git a/kasten/controllers/view/structures/datatypes/primitive/bitfield/signedbitfielddatainformation.cpp \
b/kasten/controllers/view/structures/datatypes/primitive/bitfield/signedbitfielddatainformation.cpp
index 07cde53..366e8c4 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/bitfield/signedbitfielddatainformation.cpp
+++ b/kasten/controllers/view/structures/datatypes/primitive/bitfield/signedbitfielddatainformation.cpp
@@ -27,7 +27,7 @@
#include "../sintdatainformation.h"
-QString SignedBitfieldDataInformation::valueString() const
+QString SignedBitfieldDataInformation::valueStringImpl() const
{
Q_ASSERT(mWasAbleToRead);
return SIntDataInformationMethods<qint64>::staticValueString(mValue.value<qint64>());
diff --git a/kasten/controllers/view/structures/datatypes/primitive/bitfield/signedbitfielddatainformation.h \
b/kasten/controllers/view/structures/datatypes/primitive/bitfield/signedbitfielddatainformation.h
index daaeb15..41f66b6 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/bitfield/signedbitfielddatainformation.h
+++ b/kasten/controllers/view/structures/datatypes/primitive/bitfield/signedbitfielddatainformation.h
@@ -35,17 +35,18 @@ public:
virtual ~SignedBitfieldDataInformation() {}
virtual AllPrimitiveTypes fromVariant(const QVariant& variant, bool* ok) const;
- QString typeName() const;
- virtual QString valueString() const;
virtual QScriptValue valueAsQScriptValue() const;
virtual QWidget* createEditWidget(QWidget* parent) const;
virtual QVariant dataFromWidget(const QWidget* w) const;
virtual void setWidgetData(QWidget* w) const;
/** sign extend the value if it is negative, so it can always be treated as a \
plain qint64 */ virtual void setValue(AllPrimitiveTypes newVal);
+private:
+ virtual QString valueStringImpl() const;
+ virtual QString typeNameImpl() const;
};
-inline QString SignedBitfieldDataInformation::typeName() const
+inline QString SignedBitfieldDataInformation::typeNameImpl() const
{
return i18ncp("Data type", "signed bitfield (%1 bit wide)", "signed bitfield (%1 \
bits wide)", width());
diff --git a/kasten/controllers/view/structures/datatypes/primitive/bitfield/unsignedbitfielddatainformation.cpp \
b/kasten/controllers/view/structures/datatypes/primitive/bitfield/unsignedbitfielddatainformation.cpp
index aab9b06..989586a 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/bitfield/unsignedbitfielddatainformation.cpp
+++ b/kasten/controllers/view/structures/datatypes/primitive/bitfield/unsignedbitfielddatainformation.cpp
@@ -27,7 +27,7 @@
#include "../poddecoder/typeeditors/uintspinbox.h"
#include "../uintdatainformation.h"
-QString UnsignedBitfieldDataInformation::valueString() const
+QString UnsignedBitfieldDataInformation::valueStringImpl() const
{
Q_ASSERT(mWasAbleToRead);
return UIntDataInformationMethods<quint64>::staticValueString(mValue.value<quint64>());
diff --git a/kasten/controllers/view/structures/datatypes/primitive/bitfield/unsignedbitfielddatainformation.h \
b/kasten/controllers/view/structures/datatypes/primitive/bitfield/unsignedbitfielddatainformation.h
index a380e0b..18d6ba7 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/bitfield/unsignedbitfielddatainformation.h
+++ b/kasten/controllers/view/structures/datatypes/primitive/bitfield/unsignedbitfielddatainformation.h
@@ -34,15 +34,16 @@ public:
: AbstractBitfieldDataInformation(name, width, parent) {}
virtual ~UnsignedBitfieldDataInformation() {}
- QString typeName() const;
- virtual QString valueString() const;
virtual QScriptValue valueAsQScriptValue() const;
virtual QWidget* createEditWidget(QWidget* parent) const;
virtual QVariant dataFromWidget(const QWidget* w) const;
virtual void setWidgetData(QWidget* w) const;
+private:
+ virtual QString valueStringImpl() const;
+ virtual QString typeNameImpl() const;
};
-inline QString UnsignedBitfieldDataInformation::typeName() const
+inline QString UnsignedBitfieldDataInformation::typeNameImpl() const
{
return i18ncp("Data type", "unsigned bitfield (%1 bit wide)",
"unsigned bitfield (%1 bits wide)", width());
diff --git a/kasten/controllers/view/structures/datatypes/primitive/enumdatainformation.cpp \
b/kasten/controllers/view/structures/datatypes/primitive/enumdatainformation.cpp \
index 4253cdf..f59d9e6 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/enumdatainformation.cpp
+++ b/kasten/controllers/view/structures/datatypes/primitive/enumdatainformation.cpp
@@ -42,7 +42,7 @@ EnumDataInformation::EnumDataInformation(const QString& name, \
PrimitiveDataInfor
EnumDataInformation::~EnumDataInformation() {}
-QString EnumDataInformation::valueString() const
+QString EnumDataInformation::valueStringImpl() const
{
Q_ASSERT(mWasAbleToRead);
QString enumVal = mEnum->value(mValue->value());
@@ -54,7 +54,7 @@ QString EnumDataInformation::valueString() const
return i18n("%1 (value not in enum)", mValue->valueString());
}
-QString EnumDataInformation::typeName() const
+QString EnumDataInformation::typeNameImpl() const
{
return i18nc("Displayed in the type column. first comes the name "
"of the enum, then the underlying type (e.g. uint32)",
diff --git a/kasten/controllers/view/structures/datatypes/primitive/enumdatainformation.h \
b/kasten/controllers/view/structures/datatypes/primitive/enumdatainformation.h index \
8177f38..e59a62b 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/enumdatainformation.h
+++ b/kasten/controllers/view/structures/datatypes/primitive/enumdatainformation.h
@@ -35,14 +35,14 @@ public:
EnumDefinition::Ptr enumDef, DataInformation* parent = 0);
virtual ~EnumDataInformation();
- virtual QString valueString() const;
- virtual QString typeName() const;
virtual bool isEnum() const;
EnumDefinition::Ptr enumValues() const;
void setEnumValues(QMap<AllPrimitiveTypes, QString> newValues);
-protected:
+private:
virtual QScriptClass* scriptClass(ScriptHandlerInfo* handlerInfo) const;
+ virtual QString valueStringImpl() const;
+ virtual QString typeNameImpl() const;
protected:
EnumDefinition::Ptr mEnum;
};
diff --git a/kasten/controllers/view/structures/datatypes/primitive/flagdatainformation.cpp \
b/kasten/controllers/view/structures/datatypes/primitive/flagdatainformation.cpp \
index 7bc49a5..8a32a23 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/flagdatainformation.cpp
+++ b/kasten/controllers/view/structures/datatypes/primitive/flagdatainformation.cpp
@@ -47,7 +47,7 @@ static void removeFromArray(QVarLengthArray<T, len>& array, int \
index) { array.removeLast();
}
-QString FlagDataInformation::valueString() const
+QString FlagDataInformation::valueStringImpl() const
{
Q_ASSERT(mWasAbleToRead);
QMapIterator<AllPrimitiveTypes, QString> iter(mEnum->values());
@@ -119,7 +119,7 @@ QString FlagDataInformation::valueString() const
return result;
}
-QString FlagDataInformation::typeName() const
+QString FlagDataInformation::typeNameImpl() const
{
return i18nc("Displayed in the type column. first comes the name "
"of the enum, then the underlying type (e.g. uint32)",
diff --git a/kasten/controllers/view/structures/datatypes/primitive/flagdatainformation.h \
b/kasten/controllers/view/structures/datatypes/primitive/flagdatainformation.h index \
214660f..15b740f 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/flagdatainformation.h
+++ b/kasten/controllers/view/structures/datatypes/primitive/flagdatainformation.h
@@ -32,8 +32,9 @@ class FlagDataInformation : public EnumDataInformation
public:
FlagDataInformation(const QString& name, PrimitiveDataInformation* type, \
EnumDefinition::Ptr enumDef, DataInformation* parent = 0);
- virtual QString valueString() const;
- virtual QString typeName() const;
+private:
+ virtual QString valueStringImpl() const;
+ virtual QString typeNameImpl() const;
};
#endif // FLAGDATAINFORMATION_H
diff --git a/kasten/controllers/view/structures/datatypes/primitive/pointerdatainformation.cpp \
b/kasten/controllers/view/structures/datatypes/primitive/pointerdatainformation.cpp \
index 7960b90..13bb8c5 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/pointerdatainformation.cpp
+++ b/kasten/controllers/view/structures/datatypes/primitive/pointerdatainformation.cpp
@@ -120,12 +120,12 @@ void \
PointerDataInformation::delayedReadData(Okteta::AbstractByteArrayModel \
*inp
mPointerTarget->readData(input, newAddress, (input->size() - newAddress) * 8, \
&childBitOffset); }
-QString PointerDataInformation::typeName() const
+QString PointerDataInformation::typeNameImpl() const
{
return i18nc("memory pointer with underlying type", "%1 pointer", \
mValue->typeName()); }
-QString PointerDataInformation::valueString() const
+QString PointerDataInformation::valueStringImpl() const
{
Q_ASSERT(mWasAbleToRead);
return mValue->valueString();
diff --git a/kasten/controllers/view/structures/datatypes/primitive/pointerdatainformation.h \
b/kasten/controllers/view/structures/datatypes/primitive/pointerdatainformation.h \
index d5b4a87..b545c2a 100644
--- a/kasten/controllers/view/structures/datatypes/primitive/pointerdatainformation.h
+++ b/kasten/controllers/view/structures/datatypes/primitive/pointerdatainformation.h
@@ -38,8 +38,6 @@ public:
PrimitiveDataInformation* valueType, DataInformation* parent);
virtual ~PointerDataInformation();
- virtual QString typeName() const;
- virtual QString valueString() const;
virtual bool canHaveChildren() const;
virtual uint childCount() const;
virtual DataInformation* childAt(uint index) const;
@@ -65,8 +63,10 @@ public:
* @return true if type was set, false if not
*/
bool setPointerType(DataInformation* type);
-protected:
+private:
virtual QScriptClass* scriptClass(ScriptHandlerInfo* handlerInfo) const;
+ virtual QString valueStringImpl() const;
+ virtual QString typeNameImpl() const;
protected:
QScopedPointer<DataInformation> mPointerTarget;
};
diff --git a/kasten/controllers/view/structures/datatypes/strings/stringdatainformation.cpp \
b/kasten/controllers/view/structures/datatypes/strings/stringdatainformation.cpp \
index 419bb4f..239ce59 100644
--- a/kasten/controllers/view/structures/datatypes/strings/stringdatainformation.cpp
+++ b/kasten/controllers/view/structures/datatypes/strings/stringdatainformation.cpp
@@ -126,7 +126,7 @@ QWidget* StringDataInformation::createEditWidget(QWidget*) const
return 0;
}
-QString StringDataInformation::typeName() const
+QString StringDataInformation::typeNameImpl() const
{
return mData->typeName();
}
@@ -165,7 +165,7 @@ QVariant StringDataInformation::childData(int row, int column, \
int role) const return QVariant();
}
-QString StringDataInformation::valueString() const
+QString StringDataInformation::valueStringImpl() const
{
Q_ASSERT(mWasAbleToRead);
return mData->completeString();
diff --git a/kasten/controllers/view/structures/datatypes/strings/stringdatainformation.h \
b/kasten/controllers/view/structures/datatypes/strings/stringdatainformation.h index \
0f8094d..cf652d6 100644
--- a/kasten/controllers/view/structures/datatypes/strings/stringdatainformation.h
+++ b/kasten/controllers/view/structures/datatypes/strings/stringdatainformation.h
@@ -61,7 +61,6 @@ public:
virtual void setWidgetData(QWidget* w) const;
virtual QVariant dataFromWidget(const QWidget* w) const;
virtual QWidget* createEditWidget(QWidget* parent) const;
- virtual QString typeName() const;
virtual unsigned int childCount() const;
virtual Qt::ItemFlags flags(int column, bool fileLoaded = true) const;
virtual bool isString() const;
@@ -77,8 +76,6 @@ public:
virtual QScriptValue childToScriptValue(uint index, QScriptEngine* engine, \
ScriptHandlerInfo* handlerInfo) const;
virtual BitCount64 childPosition(const DataInformation* child, Okteta::Address \
start) const;
- virtual QString valueString() const;
-
StringType encoding() const;
void setEncoding(StringType encoding);
uint terminationCodePoint() const;
@@ -95,8 +92,10 @@ public:
* @param mode The mode to remove
*/
void unsetTerminationMode(StringData::TerminationMode mode);
-protected:
+private:
virtual QScriptClass* scriptClass(ScriptHandlerInfo* handlerInfo) const;
+ virtual QString typeNameImpl() const;
+ virtual QString valueStringImpl() const;
private:
QScopedPointer<DummyDataInformation> mDummy;
QScopedPointer<StringData> mData;
diff --git a/kasten/controllers/view/structures/datatypes/structuredatainformation.cpp \
b/kasten/controllers/view/structures/datatypes/structuredatainformation.cpp index \
81ed199..74a0d70 100644
--- a/kasten/controllers/view/structures/datatypes/structuredatainformation.cpp
+++ b/kasten/controllers/view/structures/datatypes/structuredatainformation.cpp
@@ -26,7 +26,7 @@
#include <KLocalizedString>
#include <limits>
-QString StructureDataInformation::typeName() const
+QString StructureDataInformation::typeNameImpl() const
{
return i18nc("data type in C/C++, then name", "struct %1", name());
}
diff --git a/kasten/controllers/view/structures/datatypes/structuredatainformation.h \
b/kasten/controllers/view/structures/datatypes/structuredatainformation.h index \
adfde13..e1647a8 100644
--- a/kasten/controllers/view/structures/datatypes/structuredatainformation.h
+++ b/kasten/controllers/view/structures/datatypes/structuredatainformation.h
@@ -37,12 +37,13 @@ public:
BitCount64 bitsRemaining, quint8* bitOffset);
virtual bool isStruct() const;
- QString typeName() const;
virtual BitCount64 childPosition(const DataInformation* child, Okteta::Address \
start) const;
static bool readChildren(const QVector<DataInformation*> children, \
Okteta::AbstractByteArrayModel *input,
Okteta::Address address, BitCount64 bitsRemaining, quint8* bitOffset, \
qint64* readBitsPtr, TopLevelDataInformation* top);
+private:
+ virtual QString typeNameImpl() const;
};
inline bool StructureDataInformation::isStruct() const
diff --git a/kasten/controllers/view/structures/datatypes/taggeduniondatainformation.cpp \
b/kasten/controllers/view/structures/datatypes/taggeduniondatainformation.cpp index \
0ae61ce..be9790c 100644
--- a/kasten/controllers/view/structures/datatypes/taggeduniondatainformation.cpp
+++ b/kasten/controllers/view/structures/datatypes/taggeduniondatainformation.cpp
@@ -28,7 +28,7 @@
#include <KLocalizedString>
-QString TaggedUnionDataInformation::typeName() const
+QString TaggedUnionDataInformation::typeNameImpl() const
{
if (mLastIndex >= 0)
return i18nc("data type in C/C++, then name", "struct %1", \
mAlternatives.at(mLastIndex).name); @@ -45,7 +45,6 @@ \
TaggedUnionDataInformation::~TaggedUnionDataInformation() }
}
-
TaggedUnionDataInformation::TaggedUnionDataInformation(const QString& name, \
DataInformation* parent)
: DataInformationWithChildren(name, QVector<DataInformation*>(), parent), \
mLastIndex(-1) {
diff --git a/kasten/controllers/view/structures/datatypes/taggeduniondatainformation.h \
b/kasten/controllers/view/structures/datatypes/taggeduniondatainformation.h index \
c04cf63..39564e8 100644
--- a/kasten/controllers/view/structures/datatypes/taggeduniondatainformation.h
+++ b/kasten/controllers/view/structures/datatypes/taggeduniondatainformation.h
@@ -53,11 +53,9 @@ public:
virtual qint64 readData(Okteta::AbstractByteArrayModel *input,
Okteta::Address address, BitCount64 bitsRemaining, quint8* bitOffset);
virtual bool isTaggedUnion() const;
- //implement the DataInformation pure virtual functions
- QString typeName() const;
+
virtual BitCount64 childPosition(const DataInformation* child, Okteta::Address \
start) const;
- //reimplement these
virtual BitCount32 size() const;
virtual bool replaceChildAt(unsigned int index, DataInformation* newChild);
@@ -67,8 +65,8 @@ public:
virtual unsigned int childCount() const;
void appendDefaultField(DataInformation* field, bool emitSignal);
void setAlternatives(const QVector<FieldInfo>& alternatives, bool emitSignal);
-
-
+private:
+ virtual QString typeNameImpl() const;
private:
const QVector<DataInformation*>& currentChildren() const;
int determineSelection(TopLevelDataInformation* top);
diff --git a/kasten/controllers/view/structures/datatypes/uniondatainformation.cpp \
b/kasten/controllers/view/structures/datatypes/uniondatainformation.cpp index \
5cebf55..31ff0b2 100644
--- a/kasten/controllers/view/structures/datatypes/uniondatainformation.cpp
+++ b/kasten/controllers/view/structures/datatypes/uniondatainformation.cpp
@@ -24,7 +24,7 @@
#include <KLocale>
-QString UnionDataInformation::typeName() const
+QString UnionDataInformation::typeNameImpl() const
{
return i18nc("data type in C/C++, then name", "union %1", name());
}
diff --git a/kasten/controllers/view/structures/datatypes/uniondatainformation.h \
b/kasten/controllers/view/structures/datatypes/uniondatainformation.h index \
4865ee8..0a0c403 100644
--- a/kasten/controllers/view/structures/datatypes/uniondatainformation.h
+++ b/kasten/controllers/view/structures/datatypes/uniondatainformation.h
@@ -34,12 +34,12 @@ public:
virtual ~UnionDataInformation();
virtual bool isUnion() const;
- //implement the DataInformation pure virtual functions
- virtual QString typeName() const;
virtual BitCount32 size() const;
virtual qint64 readData(Okteta::AbstractByteArrayModel* input, Okteta::Address \
address, BitCount64 bitsRemaining, quint8* bitOffset);
virtual BitCount64 childPosition(const DataInformation* child, Okteta::Address \
start) const; +private:
+ virtual QString typeNameImpl() const;
};
inline bool UnionDataInformation::isUnion() const
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic