File indexing completed on 2024-07-07 05:34:58
0001 /* 0002 This file is part of the Okteta Kasten Framework, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2010 Alex Richardson <alex.richardson@gmx.de> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #ifndef KASTEN_SIGNEDBITFIELDDATAINFORMATION_HPP 0010 #define KASTEN_SIGNEDBITFIELDDATAINFORMATION_HPP 0011 0012 #include "abstractbitfielddatainformation.hpp" 0013 0014 class SignedBitfieldDataInformation : public AbstractBitfieldDataInformation 0015 { 0016 DATAINFORMATION_CLONE(SignedBitfieldDataInformation, AbstractBitfieldDataInformation) {} 0017 0018 public: 0019 SignedBitfieldDataInformation(const QString& name, BitCount32 width, DataInformation* parent = nullptr) 0020 : AbstractBitfieldDataInformation(name, width, parent) 0021 {} 0022 ~SignedBitfieldDataInformation() override = default; 0023 AllPrimitiveTypes fromVariant(const QVariant& variant, bool* ok) const override; 0024 0025 QVariant valueToQVariant() const override; 0026 QScriptValue valueAsQScriptValue() const override; 0027 QString valueToQString(AllPrimitiveTypes value) const override; 0028 QVariant valueToQVariant(AllPrimitiveTypes value) const override; 0029 0030 QWidget* createEditWidget(QWidget* parent) const override; 0031 QVariant dataFromWidget(const QWidget* w) const override; 0032 void setWidgetData(QWidget* w) const override; 0033 /** sign extend the value if it is negative, so it can always be treated as a plain qint64 */ 0034 void setValue(AllPrimitiveTypes newVal) override; 0035 Type bitfieldType() const override; 0036 0037 private: 0038 QString valueStringImpl() const override; 0039 QString typeNameImpl() const override; 0040 }; 0041 0042 #endif /* KASTEN_SIGNEDBITFIELDDATAINFORMATION_HPP */