mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-03 07:35:48 +08:00
refs #314, fromQVariant / location of toQVariant
* renamed fromQVariant to convertFromQVariant, the "from" methods imply the object is changed (fromJson, fromString ..) * implemented fromQVariant - changing the object by QVariant * moved toQVariant into PQ template * free function setFromQVariant
This commit is contained in:
@@ -74,6 +74,9 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::toJson
|
||||
virtual QJsonObject toJson() const override;
|
||||
|
||||
|
||||
@@ -35,9 +35,6 @@ namespace BlackMisc
|
||||
//! Construct from a base class object.
|
||||
CAudioDeviceList(const CSequence &other);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Get output devices in that list
|
||||
CAudioDeviceList getOutputDevices() const;
|
||||
|
||||
@@ -47,6 +44,12 @@ namespace BlackMisc
|
||||
//! Count (as of type)
|
||||
int count(CAudioDevice::DeviceType type) const;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
};
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "valueobject.h"
|
||||
#include "namevariantpairlist.h"
|
||||
#include "propertyindex.h"
|
||||
#include "blackmiscfreefunctions.h"
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
@@ -54,6 +55,9 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::toIcon()
|
||||
virtual BlackMisc::CIcon toIcon() const override { return this->m_callsign.toIcon(); }
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#define BLACKMISC_AIRCRAFTICAO_H
|
||||
|
||||
#include "propertyindex.h"
|
||||
#include "blackmiscfreefunctions.h"
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
@@ -62,11 +63,11 @@ namespace BlackMisc
|
||||
: m_aircraftDesignator(icao.trimmed().toUpper()), m_aircraftCombinedType(combinedType.trimmed().toUpper()), m_airlineDesignator(airline.trimmed().toUpper()),
|
||||
m_livery(livery.trimmed().toUpper()), m_aircraftColor(color.trimmed().toUpper()) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Get ICAO designator, e.g. "B737"
|
||||
const QString &getAircraftDesignator() const { return m_aircraftDesignator; }
|
||||
|
||||
@@ -37,9 +37,6 @@ namespace BlackMisc
|
||||
//! Construct from a base class object.
|
||||
CAircraftList(const CSequence<CAircraft> &other);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Find 0..n stations by callsign
|
||||
CAircraftList findByCallsign(const CCallsign &callsign) const;
|
||||
|
||||
@@ -60,12 +57,18 @@ namespace BlackMisc
|
||||
*/
|
||||
CAircraftList findWithinRange(const BlackMisc::Geo::ICoordinateGeodetic &coordinate, const BlackMisc::PhysicalQuantities::CLength &range) const;
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
//! \brief Update aircraft with data from VATSIM data file
|
||||
//! \remarks The list used needs to contain the VATSIM data file objects
|
||||
bool updateWithVatsimDataFileData(CAircraft &aircraftToBeUpdated) const;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
};
|
||||
|
||||
} //namespace
|
||||
|
||||
@@ -62,9 +62,12 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::setPropertyByIndex(variant,index)
|
||||
virtual void setPropertyByIndex(const QVariant &variant, const BlackMisc::CPropertyIndex &index) override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Get position
|
||||
const BlackMisc::Geo::CCoordinateGeodetic &getPosition() const { return this->m_position; }
|
||||
|
||||
|
||||
@@ -25,12 +25,6 @@ namespace BlackMisc
|
||||
//! Construct from a base class object.
|
||||
CAircraftSituationList(const CSequence<CAircraftSituation> &other);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
/*!
|
||||
* Get a list of situations before dateTime
|
||||
* \param dateTime
|
||||
@@ -56,6 +50,13 @@ namespace BlackMisc
|
||||
* \param seconds
|
||||
*/
|
||||
void removeOlderThan(double seconds);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,6 +53,9 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Equal operator ==
|
||||
bool operator ==(const CAirport &other) const;
|
||||
|
||||
|
||||
@@ -11,7 +11,9 @@
|
||||
|
||||
#ifndef BLACKMISC_AIRPORTICAO_H
|
||||
#define BLACKMISC_AIRPORTICAO_H
|
||||
|
||||
#include "valueobject.h"
|
||||
#include "blackmiscfreefunctions.h"
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
@@ -37,6 +39,9 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Is empty?
|
||||
bool isEmpty() const { return this->m_icaoCode.isEmpty(); }
|
||||
|
||||
|
||||
@@ -31,9 +31,6 @@ namespace BlackMisc
|
||||
//! Construct from a base class object.
|
||||
CAirportList(const CSequence<CAirport> &other);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Find 0..n airports by ICAO code
|
||||
CAirportList findByIcao(const CAirportIcao &icao) const;
|
||||
|
||||
@@ -55,6 +52,12 @@ namespace BlackMisc
|
||||
//! Sort by range from a given coordinate
|
||||
void sortByRange(const BlackMisc::Geo::CCoordinateGeodetic &position, bool updateDistance);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
};
|
||||
|
||||
@@ -90,9 +90,6 @@ namespace BlackMisc
|
||||
//! Flight level?
|
||||
bool isFlightLevel() const { return FlightLevel == this->m_datum; }
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Get reference datum (MSL or AGL)
|
||||
ReferenceDatum getReferenceDatum() const { return m_datum; }
|
||||
|
||||
@@ -108,6 +105,12 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::fromJson
|
||||
void fromJson(const QJsonObject &json) override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::parseFromString(const QString &value)
|
||||
void parseFromString(const QString &value) override;
|
||||
|
||||
|
||||
@@ -71,6 +71,9 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::toIcon()
|
||||
virtual BlackMisc::CIcon toIcon() const override { return this->m_callsign.toIcon(); }
|
||||
|
||||
|
||||
@@ -33,9 +33,6 @@ namespace BlackMisc
|
||||
//! Construct from a base class object.
|
||||
CAtcStationList(const CSequence<CAtcStation> &other);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Find 0..n stations by callsign
|
||||
CAtcStationList findByCallsign(const CCallsign &callsign) const;
|
||||
|
||||
@@ -57,9 +54,6 @@ namespace BlackMisc
|
||||
//! Update distances to coordinate, usually own aircraft's position
|
||||
void calculateDistancesToPlane(const BlackMisc::Geo::CCoordinateGeodetic &position);
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
//! Merge with ATC station representing booking information
|
||||
//! \remarks Can be used if the stored data in this list are online ATC stations
|
||||
int mergeWithBooking(CAtcStation &bookedAtcStation);
|
||||
@@ -67,6 +61,16 @@ namespace BlackMisc
|
||||
//! Merge with the data from the VATSIM data file
|
||||
//! \remarks Can be used if the stored data in this list are VATSIM data file stations
|
||||
bool updateFromVatsimDataFileStation(CAtcStation &stationToBeUpdated) const;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
};
|
||||
|
||||
} //namespace
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
#ifndef BLACKMISC_CALLSIGN_H
|
||||
#define BLACKMISC_CALLSIGN_H
|
||||
|
||||
#include "valueobject.h"
|
||||
#include "propertyindex.h"
|
||||
#include "icon.h"
|
||||
#include "blackmiscfreefunctions.h"
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
@@ -46,12 +46,6 @@ namespace BlackMisc
|
||||
: m_callsignAsSet(callsign), m_callsign(CCallsign::unifyCallsign(callsign))
|
||||
{}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::toIcon()
|
||||
virtual BlackMisc::CIcon toIcon() const override { return CCallsign::convertToIcon(*this); }
|
||||
|
||||
//! Is empty?
|
||||
bool isEmpty() const { return this->m_callsignAsSet.isEmpty(); }
|
||||
|
||||
@@ -91,6 +85,15 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::fromJson
|
||||
virtual void fromJson(const QJsonObject &json) override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::toIcon()
|
||||
virtual BlackMisc::CIcon toIcon() const override { return CCallsign::convertToIcon(*this); }
|
||||
|
||||
//! \copydoc CValueObject::propertyByIndex
|
||||
virtual QVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const override;
|
||||
|
||||
|
||||
@@ -33,9 +33,12 @@ namespace BlackMisc
|
||||
//! Construct from a base class object.
|
||||
CCallsignList(const CSequence<CCallsign> &other);
|
||||
|
||||
//! CValueObject::toQVariant()
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
|
||||
@@ -190,6 +190,9 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::getValueHash
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
|
||||
@@ -66,12 +66,6 @@ namespace BlackMisc
|
||||
//! \brief Constructor by CAngle
|
||||
CHeading(CAngle heading, ReferenceNorth north) : CAngle(heading), m_north(north) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
//! \copydoc CValueObject::getValueHash
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
@@ -90,6 +84,12 @@ namespace BlackMisc
|
||||
//! \brief Get reference north (magnetic or true)
|
||||
ReferenceNorth getReferenceNorth() const { return m_north; }
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::toJson
|
||||
virtual QJsonObject toJson() const override;
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#define BLACKMISC_INFORMATIONMESSAGE_H
|
||||
|
||||
#include "valueobject.h"
|
||||
#include "blackmiscfreefunctions.h"
|
||||
#include <QString>
|
||||
#include <QDateTime>
|
||||
|
||||
@@ -38,15 +39,15 @@ namespace BlackMisc
|
||||
TAF
|
||||
};
|
||||
|
||||
//! \brief Default constructor.
|
||||
//! Default constructor.
|
||||
CInformationMessage() : m_type(CInformationMessage::Unspecified), m_receivedTimestamp(QDateTime::currentDateTimeUtc())
|
||||
{}
|
||||
|
||||
//! \brief Information message of type
|
||||
//! Information message of type
|
||||
explicit CInformationMessage(InformationType type) : m_type(type) {}
|
||||
|
||||
/*!
|
||||
* \brief Information message of type
|
||||
* Information message of type
|
||||
* \param type
|
||||
* \param message
|
||||
*/
|
||||
@@ -55,56 +56,56 @@ namespace BlackMisc
|
||||
{}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \brief Equal operator ==
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Equal operator ==
|
||||
bool operator ==(const CInformationMessage &other) const;
|
||||
|
||||
//! \brief operator !=
|
||||
//! operator !=
|
||||
bool operator !=(const CInformationMessage &other) const;
|
||||
|
||||
//! \brief Get message.
|
||||
//! Get message.
|
||||
const QString &getMessage() const { return m_message; }
|
||||
|
||||
//! \brief Is a message available
|
||||
//! Is a message available
|
||||
bool hasMessage() const { return !m_message.isEmpty(); }
|
||||
|
||||
//! \brief Set message
|
||||
//! Set message
|
||||
void setMessage(const QString &message)
|
||||
{
|
||||
this->m_receivedTimestamp = QDateTime::currentDateTimeUtc();
|
||||
this->m_message = message;
|
||||
}
|
||||
|
||||
//! \brief Append message part
|
||||
//! Append message part
|
||||
void appendMessage(const QString &messagePart)
|
||||
{
|
||||
this->m_receivedTimestamp = QDateTime::currentDateTimeUtc();
|
||||
this->m_message.append(messagePart);
|
||||
}
|
||||
|
||||
//! \brief Type as string
|
||||
//! Type as string
|
||||
const QString &getTypeAsString() const;
|
||||
|
||||
//! \brief Type
|
||||
//! Type
|
||||
InformationType getType() const { return this->m_type; }
|
||||
|
||||
//! \brief Set type
|
||||
//! Set type
|
||||
void setType(InformationType type) { this->m_type = type; }
|
||||
|
||||
//! \brief Timestamp
|
||||
//! Timestamp
|
||||
const QDateTime &getReceivedTimestamp() const { return this->m_receivedTimestamp; }
|
||||
|
||||
//! \brief Received before n ms
|
||||
//! Received before n ms
|
||||
qint64 timeDiffReceivedMs() const
|
||||
{
|
||||
return this->m_receivedTimestamp.msecsTo(QDateTime::currentDateTimeUtc());
|
||||
}
|
||||
|
||||
//! \brief Is empty?
|
||||
//! Is empty?
|
||||
bool isEmpty() const { return this->m_message.isEmpty(); }
|
||||
|
||||
//! \copydoc CValueObject::getValueHash
|
||||
@@ -116,10 +117,10 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::fromJson
|
||||
void fromJson(const QJsonObject &json) override;
|
||||
|
||||
//! \brief Register metadata
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
//! \brief Members
|
||||
//! Members
|
||||
static const QStringList &jsonMembers();
|
||||
|
||||
protected:
|
||||
|
||||
@@ -39,9 +39,6 @@ namespace BlackMisc
|
||||
CModulator(name, activeFrequency, standbyFrequency == CModulator::FrequencyNotSet() ? activeFrequency : standbyFrequency, digits), m_channelSpacing(ChannelSpacing25KHz)
|
||||
{ }
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Set active frequency
|
||||
//! \remarks will be rounded to channel spacing
|
||||
void setFrequencyActiveMHz(double frequencyMHz);
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
#ifndef BLACKMISC_AVIOMODULATORUNIT_H
|
||||
#define BLACKMISC_AVIOMODULATORUNIT_H
|
||||
|
||||
#include <QDBusMetaType>
|
||||
#include "blackmisc/propertyindex.h"
|
||||
#include "blackmisc/aviobase.h"
|
||||
#include "blackmisc/mathematics.h"
|
||||
#include "blackmisc/blackmiscfreefunctions.h"
|
||||
|
||||
using namespace BlackMisc::Math;
|
||||
|
||||
@@ -96,6 +96,12 @@ namespace BlackMisc
|
||||
//! Enabled?
|
||||
void setEnabled(bool enable) { this->m_enabled = enable;}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this->derived()); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(derived(), variant); }
|
||||
|
||||
//! \copydoc CValueObject::toJson
|
||||
virtual QJsonObject toJson() const override;
|
||||
|
||||
@@ -249,6 +255,12 @@ namespace BlackMisc
|
||||
qint32 m_volumeOutput; //!< volume output
|
||||
bool m_enabled; //!< is enabled, used e.g. for mute etc.
|
||||
|
||||
//! Easy access to derived class (CRTP template parameter)
|
||||
AVIO const *derived() const { return static_cast<AVIO const *>(this); }
|
||||
|
||||
//! Easy access to derived class (CRTP template parameter)
|
||||
AVIO *derived() { return static_cast<AVIO *>(this); }
|
||||
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -84,12 +84,6 @@ namespace BlackMisc
|
||||
//! \copydoc CAvionicsBase::validValues
|
||||
virtual bool validValues() const override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
//! Transponder mode as string
|
||||
QString getModeAsString() const
|
||||
{
|
||||
@@ -171,6 +165,12 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::fromJson
|
||||
void fromJson(const QJsonObject &json) override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::propertyByIndex
|
||||
virtual QVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const override;
|
||||
|
||||
|
||||
@@ -40,11 +40,11 @@ namespace BlackMisc
|
||||
*/
|
||||
CSelcal(const char *code) : m_code(code) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Is valid?
|
||||
bool isValid() const { return CSelcal::isValidCode(this->m_code); }
|
||||
|
||||
@@ -46,10 +46,10 @@ namespace BlackMisc
|
||||
CTrack(BlackMisc::PhysicalQuantities::CAngle track, ReferenceNorth north) : BlackMisc::PhysicalQuantities::CAngle(track), m_north(north) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::getValueHash
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
@@ -199,8 +199,8 @@ bool BlackMisc::equalQVariants(const QVariant &v1, const QVariant &v2)
|
||||
if (v1.userType() != v2.userType()) return false;
|
||||
|
||||
// I have same types now
|
||||
const CValueObject *cs1 = CValueObject::fromQVariant(v1);
|
||||
const CValueObject *cs2 = CValueObject::fromQVariant(v2);
|
||||
const CValueObject *cs1 = CValueObject::convertFromQVariant(v1);
|
||||
const CValueObject *cs2 = CValueObject::convertFromQVariant(v2);
|
||||
if (cs1 && cs2)
|
||||
{
|
||||
int c = compare(*cs1, *cs2);
|
||||
@@ -264,8 +264,8 @@ int BlackMisc::compareQVariants(const QVariant &v1, const QVariant &v2)
|
||||
// BlackObject
|
||||
if (v1.type() == QVariant::UserType)
|
||||
{
|
||||
const CValueObject *cs1 = CValueObject::fromQVariant(v1);
|
||||
const CValueObject *cs2 = CValueObject::fromQVariant(v2);
|
||||
const CValueObject *cs1 = CValueObject::convertFromQVariant(v1);
|
||||
const CValueObject *cs2 = CValueObject::convertFromQVariant(v2);
|
||||
if (cs1 && cs2)
|
||||
{
|
||||
return compare(*cs1, *cs2);
|
||||
@@ -321,7 +321,7 @@ int BlackMisc::compareQVariants(const QVariant &v1, const QVariant &v2)
|
||||
QString BlackMisc::qVariantToString(const QVariant &qv, bool i18n)
|
||||
{
|
||||
if (qv.type() != QVariant::UserType) return qv.toString();
|
||||
const CValueObject *s = CValueObject::fromQVariant(qv);
|
||||
const CValueObject *s = CValueObject::convertFromQVariant(qv);
|
||||
if (s)
|
||||
{
|
||||
return s->toQString(i18n);
|
||||
|
||||
@@ -107,6 +107,18 @@ namespace BlackMisc
|
||||
*/
|
||||
QString qVariantToString(const QVariant &qv, bool i18n = false);
|
||||
|
||||
/*!
|
||||
* Checked version from QVariant
|
||||
*/
|
||||
template <class T> void setFromQVariant(T *value, const QVariant &variant)
|
||||
{
|
||||
Q_ASSERT(variant.canConvert<T>());
|
||||
if (variant.canConvert<T>())
|
||||
{
|
||||
(*value) = variant.value<T>();
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
* Fix variant. Required if a variant "comes in" via DBus,
|
||||
* and represents a QDBusArgument rather than the real type.
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "valueobject.h"
|
||||
#include "range.h"
|
||||
#include "indexvariantmap.h"
|
||||
#include "blackmiscfreefunctions.h"
|
||||
#include "predicates.h"
|
||||
#include "json.h"
|
||||
#include <algorithm>
|
||||
@@ -93,6 +94,9 @@ namespace BlackMisc
|
||||
//! \copydoc BlackMisc::CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(derived()); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant< C<T> >(&derived(), variant); }
|
||||
|
||||
//! \copydoc BlackMisc::CValueObject::getValueHash
|
||||
virtual uint getValueHash() const override { return qHash(&derived()); }
|
||||
|
||||
|
||||
@@ -38,10 +38,7 @@ namespace BlackMisc
|
||||
explicit CCoordinateEcef(const BlackMisc::Math::CVector3D vector) : CVector3DBase(vector.i(), vector.j(), vector.k()) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \brief x
|
||||
double x() const
|
||||
|
||||
@@ -145,7 +145,10 @@ namespace BlackMisc
|
||||
const BlackMisc::PhysicalQuantities::CLength &geodeticHeight() const { return this->m_geodeticHeight; }
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::propertyByIndex
|
||||
virtual QVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const override;
|
||||
|
||||
@@ -207,9 +207,12 @@ namespace BlackMisc
|
||||
removeByValueIf(BlackMisc::Predicates::MemberEqual(membFunc, returnValue));
|
||||
}
|
||||
|
||||
//! \copydoc BlackMisc::CValueObject::toQVariant
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc BlackMisc::CValueObject::getValueHash
|
||||
virtual uint getValueHash() const override { return qHash(this); }
|
||||
|
||||
|
||||
@@ -111,6 +111,12 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::toIcon
|
||||
CIcon toIcon() const override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*derived()); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(derived(), variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
#ifndef BLACKMISC_HOTKEYFUNCTION_H
|
||||
#define BLACKMISC_HOTKEYFUNCTION_H
|
||||
|
||||
#include "valueobject.h"
|
||||
#include "propertyindex.h"
|
||||
#include "blackmiscfreefunctions.h"
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
@@ -48,18 +49,11 @@ namespace BlackMisc
|
||||
//! Set function
|
||||
void setFunction(const Function &function) { m_function = function; }
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override
|
||||
{
|
||||
Q_ASSERT(variant.canConvert<CHotkeyFunction>());
|
||||
if (variant.canConvert<CHotkeyFunction>())
|
||||
{
|
||||
(*this) = variant.value<CHotkeyFunction>();
|
||||
}
|
||||
}
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::getValueHash
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
#ifndef BLACKMISC_KEYBOARDKEY_H
|
||||
#define BLACKMISC_KEYBOARDKEY_H
|
||||
|
||||
#include "valueobject.h"
|
||||
#include "propertyindex.h"
|
||||
#include "blackmiscfreefunctions.h"
|
||||
#include <QStringList>
|
||||
#include <QKeySequence>
|
||||
|
||||
@@ -64,11 +65,11 @@ namespace BlackMisc
|
||||
//! Destructor
|
||||
~CKeyboardKey() {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::getValueHash
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace BlackMisc
|
||||
CKeyboardKeyList(const CSequence<CKeyboardKey> &baseClass);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
@@ -31,9 +31,6 @@ namespace BlackMisc
|
||||
CIcon( CIcons::IconIndex index, const QString &descriptiveText) :
|
||||
m_index(static_cast<int>(index)), m_descriptiveText(descriptiveText) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Get descriptive text
|
||||
const QString &getDescriptiveText() const { return this->m_descriptiveText; }
|
||||
|
||||
@@ -65,7 +62,13 @@ namespace BlackMisc
|
||||
virtual QJsonObject toJson() const override;
|
||||
|
||||
//! \copydoc CValueObject::fromJson
|
||||
void fromJson(const QJsonObject &json) override;
|
||||
virtual void fromJson(const QJsonObject &json) override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
@@ -41,9 +41,6 @@ namespace BlackMisc
|
||||
//! Single value constructor
|
||||
CIndexVariantMap(const CPropertyIndex &index, const QVariant &value);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Destructor
|
||||
virtual ~CIndexVariantMap() {}
|
||||
|
||||
@@ -92,6 +89,12 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::getValueHash
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
|
||||
@@ -41,14 +41,6 @@ namespace BlackMisc
|
||||
this->m_matrix(0, 1) = c2;
|
||||
this->m_matrix(0, 2) = c3;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::toQVariant
|
||||
*/
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
#include "blackmisc/valueobject.h"
|
||||
#include "blackmisc/mathvector3dbase.h"
|
||||
#include "blackmisc/blackmiscfreefunctions.h"
|
||||
#include <QGenericMatrix>
|
||||
#include <QDBusMetaType>
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
@@ -87,6 +87,12 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::getValueHash
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*derived()); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant<ImplMatrix>(derived(), variant); }
|
||||
|
||||
//! \brief Equal operator ==
|
||||
bool operator ==(const ImplMatrix &other) const
|
||||
{
|
||||
|
||||
@@ -39,14 +39,6 @@ namespace BlackMisc
|
||||
*/
|
||||
CVector3D(const CVector3D &other) : CVector3DBase(other) {}
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::toQVariant
|
||||
*/
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief i
|
||||
* \return
|
||||
|
||||
@@ -203,7 +203,13 @@ namespace BlackMisc
|
||||
virtual QJsonObject toJson() const override;
|
||||
|
||||
//! \copydoc CValueObject::fromJson
|
||||
void fromJson(const QJsonObject &json) override;
|
||||
virtual void fromJson(const QJsonObject &json) override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*derived()); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant<ImplVector>(derived(), variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
@@ -30,9 +30,6 @@ namespace BlackMisc
|
||||
//! Constructor.
|
||||
CNameVariantPair(const QString &name, const CVariant &variant, const CIcon &icon = CIcon());
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Get name.
|
||||
const QString &getName() const { return m_name; }
|
||||
|
||||
@@ -87,6 +84,12 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::setPropertyByIndex(variant, index)
|
||||
virtual void setPropertyByIndex(const QVariant &variant, const BlackMisc::CPropertyIndex &index) override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
protected:
|
||||
//! \copydoc CValueObject::convertToQString()
|
||||
virtual QString convertToQString(bool i18n = false) const override;
|
||||
|
||||
@@ -36,9 +36,12 @@ namespace BlackMisc
|
||||
//! Get name index
|
||||
int getNameRowIndex(const QString &name);
|
||||
|
||||
//! CValueObject::toQVariant()
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
|
||||
@@ -93,9 +93,18 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::getValueHash()
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::toJson
|
||||
virtual QJsonObject toJson() const override;
|
||||
|
||||
//! \copydoc CValueObject::fromJson
|
||||
virtual void fromJson(const QJsonObject &json) override;
|
||||
|
||||
//! Matches model string?
|
||||
bool matchesModelString(const QString &modelString, Qt::CaseSensitivity sensitivity) const;
|
||||
|
||||
@@ -105,12 +114,6 @@ namespace BlackMisc
|
||||
//! Register the metatypes
|
||||
static void registerMetadata();
|
||||
|
||||
//! \copydoc CValueObject::toJson
|
||||
virtual QJsonObject toJson() const override;
|
||||
|
||||
//! \copydoc CValueObject::fromJson
|
||||
virtual void fromJson(const QJsonObject &json) override;
|
||||
|
||||
//! Members
|
||||
static const QStringList &jsonMembers();
|
||||
};
|
||||
|
||||
@@ -35,9 +35,6 @@ namespace BlackMisc
|
||||
//! Construct from a base class object.
|
||||
CAircraftMappingList(const CSequence<CAircraftMapping> &other);
|
||||
|
||||
//! QVariant, required for DBus QVariant lists
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Find by ICAO code, empty fields treated as wildcards
|
||||
CAircraftMappingList findByIcaoCodeWildcard(const BlackMisc::Aviation::CAircraftIcao &searchIcao) const;
|
||||
|
||||
@@ -47,9 +44,14 @@ namespace BlackMisc
|
||||
//! Find by model string
|
||||
CAircraftMappingList findByModelString(const QString modelString, Qt::CaseSensitivity sensitivity) const;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
};
|
||||
|
||||
} //namespace
|
||||
|
||||
@@ -40,9 +40,6 @@ namespace BlackMisc
|
||||
//! Constructor.
|
||||
CAircraftModel(const QString &model, bool isQueriedString) : m_modelString(model), m_queriedModelStringFlag(isQueriedString) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Equal operator ==
|
||||
bool operator ==(const CAircraftModel &other) const;
|
||||
|
||||
@@ -52,6 +49,12 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::getValueHash
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::toJson
|
||||
virtual QJsonObject toJson() const override;
|
||||
|
||||
|
||||
@@ -60,8 +60,6 @@ namespace BlackMisc
|
||||
//! Constructor.
|
||||
CClient(const CUser &user) : m_user(user) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Equal operator ==
|
||||
bool operator ==(const CClient &other) const;
|
||||
@@ -75,12 +73,18 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::toJson
|
||||
virtual QJsonObject toJson() const override;
|
||||
|
||||
//! Callsign used with other client
|
||||
const BlackMisc::Aviation::CCallsign &getCallsign() const { return this->m_user.getCallsign(); }
|
||||
|
||||
//! \copydoc CValueObject::fromJson
|
||||
void fromJson(const QJsonObject &json) override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Callsign used with other client
|
||||
const BlackMisc::Aviation::CCallsign &getCallsign() const { return this->m_user.getCallsign(); }
|
||||
|
||||
//! Get capabilities
|
||||
CIndexVariantMap getCapabilities() const { return this->m_capabilities; }
|
||||
|
||||
|
||||
@@ -43,9 +43,6 @@ namespace BlackMisc
|
||||
CServer(const QString &name, const QString &description, const QString &address, qint32 port, const CUser &user, bool isAcceptingConnections = true)
|
||||
: m_name(name), m_description(description), m_address(address), m_port(port), m_user(user), m_isAcceptingConnections(isAcceptingConnections) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Get address.
|
||||
const QString &getAddress() const { return m_address; }
|
||||
|
||||
@@ -98,19 +95,25 @@ namespace BlackMisc
|
||||
virtual QJsonObject toJson() const override;
|
||||
|
||||
//! \copydoc CValueObject::fromJson
|
||||
void fromJson(const QJsonObject &json) override;
|
||||
virtual void fromJson(const QJsonObject &json) override;
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::propertyByIndex(int)
|
||||
virtual QVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const override;
|
||||
|
||||
//! \copydoc CValueObject::setPropertyByIndex(const QVariant &, int index)
|
||||
virtual void setPropertyByIndex(const QVariant &variant, const BlackMisc::CPropertyIndex &index) override;
|
||||
|
||||
//! \copydoc TupleConverter<>::jsonMembers()
|
||||
static const QStringList &jsonMembers();
|
||||
|
||||
//! \copydoc CValueObject::propertyByIndex(int)
|
||||
QVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const override;
|
||||
|
||||
//! \copydoc CValueObject::setPropertyByIndex(const QVariant &, int index)
|
||||
void setPropertyByIndex(const QVariant &variant, const BlackMisc::CPropertyIndex &index) override;
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
protected:
|
||||
//! \copydoc CValueObject::convertToQString()
|
||||
|
||||
@@ -36,6 +36,9 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
|
||||
@@ -168,10 +168,10 @@ namespace BlackMisc
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \brief Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
@@ -50,9 +50,6 @@ namespace BlackMisc
|
||||
//! Construct from a base class object.
|
||||
CTextMessageList(const CSequence<CTextMessage> &other);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Private messages
|
||||
CTextMessageList getPrivateMessages() const;
|
||||
|
||||
@@ -71,6 +68,12 @@ namespace BlackMisc
|
||||
//! Toggle all sender receivers
|
||||
void toggleSenderRecipients();
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
};
|
||||
|
||||
@@ -57,12 +57,6 @@ namespace BlackMisc
|
||||
: m_id(id), m_realname(realname), m_email(email), m_password(password), m_callsign(callsign)
|
||||
{}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
//! Get full name.
|
||||
QString getRealName() const { return m_realname; }
|
||||
|
||||
@@ -126,6 +120,12 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::getValueHash()
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::toIcon()
|
||||
virtual BlackMisc::CIcon toIcon() const override { return this->getCallsign().toIcon(); }
|
||||
|
||||
|
||||
@@ -27,8 +27,11 @@ namespace BlackMisc
|
||||
//! Construct from a base class object.
|
||||
CUserList(const CSequence &other);
|
||||
|
||||
//! QVariant, required for DBus QVariant lists
|
||||
virtual QVariant asQVariant() const { return QVariant::fromValue(*this); }
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
//! \file
|
||||
|
||||
#include "valueobject.h"
|
||||
#include "blackmiscfreefunctions.h"
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
@@ -44,9 +45,6 @@ namespace BlackMisc
|
||||
//! Constructor.
|
||||
CVoiceCapabilities(const QString &flightPlanRemarks);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Get capabilities
|
||||
VoiceCapabilities getCapabilities() const { return static_cast<VoiceCapabilities>(m_voiceCapabilities); }
|
||||
|
||||
@@ -65,6 +63,12 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::getValueHash()
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::toJson
|
||||
virtual QJsonObject toJson() const override;
|
||||
|
||||
|
||||
@@ -31,9 +31,6 @@ namespace BlackMisc
|
||||
//! \copydoc CPhysicalQuantity(const QString &unitString)
|
||||
CAcceleration(const QString &unitString) : CPhysicalQuantity(unitString) {}
|
||||
|
||||
//! copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Virtual destructor
|
||||
virtual ~CAcceleration() {}
|
||||
};
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#include "iconlist.h"
|
||||
#include "pqangle.h"
|
||||
#include "avheading.h"
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
|
||||
@@ -55,14 +55,17 @@ namespace BlackMisc
|
||||
degrees + minutes / 100.0,
|
||||
CAngleUnit::sexagesimalDegMin()) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
//! Virtual destructor
|
||||
virtual ~CAngle() {}
|
||||
|
||||
//! \copydoc CValueObject::toIcon
|
||||
virtual BlackMisc::CIcon toIcon() const override;
|
||||
|
||||
//! Virtual destructor
|
||||
virtual ~CAngle() {}
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Value as factor of PI (e.g. 0.5PI)
|
||||
double piFactor() const;
|
||||
@@ -70,8 +73,6 @@ namespace BlackMisc
|
||||
//! PI as convenience method
|
||||
static const double &PI();
|
||||
|
||||
private:
|
||||
|
||||
};
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
#include "blackmisc/valueobject.h"
|
||||
#include "blackmisc/mathematics.h"
|
||||
#include "blackmisc/blackmiscfreefunctions.h"
|
||||
#include <QCoreApplication>
|
||||
#include <QtDBus/QDBusArgument>
|
||||
#include <QString>
|
||||
@@ -269,21 +270,24 @@ namespace BlackMisc
|
||||
CMeasurementUnit() : m_name("none"), m_symbol(""), m_epsilon(0), m_displayDigits(0)
|
||||
{}
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::toQVariant
|
||||
*/
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
// used with None!
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
//! Equal operator ==
|
||||
bool operator == (const CMeasurementUnit &other) const;
|
||||
|
||||
//! Unequal operator !=
|
||||
bool operator != (const CMeasurementUnit &other) const;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::getValueHash
|
||||
virtual uint getValueHash() const override
|
||||
{
|
||||
return qHash(this->getName());
|
||||
}
|
||||
|
||||
//! Name such as "meter"
|
||||
QString getName(bool i18n = false) const
|
||||
{
|
||||
@@ -296,14 +300,6 @@ namespace BlackMisc
|
||||
return i18n ? QCoreApplication::translate("CMeasurementUnit", this->m_symbol.toStdString().c_str()) : this->m_symbol;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::getValueHash
|
||||
*/
|
||||
virtual uint getValueHash() const override
|
||||
{
|
||||
return qHash(this->getName());
|
||||
}
|
||||
|
||||
//! Rounded value
|
||||
double roundValue(double value, int digits = -1) const;
|
||||
|
||||
|
||||
@@ -35,12 +35,6 @@ namespace BlackMisc
|
||||
//! \copydoc CPhysicalQuantity(const QString &unitString)
|
||||
CFrequency(const QString &unitString) : CPhysicalQuantity(unitString) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
//! Virtual destructor
|
||||
virtual ~CFrequency() {}
|
||||
};
|
||||
|
||||
@@ -31,12 +31,6 @@ namespace BlackMisc
|
||||
//! \copydoc CPhysicalQuantity(const QString &unitString)
|
||||
CLength(const QString &unitString) : CPhysicalQuantity(unitString) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
//! Virtual destructor
|
||||
virtual ~CLength() {}
|
||||
};
|
||||
|
||||
@@ -33,12 +33,6 @@ namespace BlackMisc
|
||||
//! \copydoc CPhysicalQuantity(const QString &unitString)
|
||||
CMass(const QString &unitString) : CPhysicalQuantity(unitString) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
//! Virtual destructor
|
||||
virtual ~CMass() {}
|
||||
};
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "blackmisc/propertyindex.h"
|
||||
#include "blackmisc/mathematics.h"
|
||||
#include "blackmisc/pqstring.h"
|
||||
#include "blackmisc/blackmiscfreefunctions.h"
|
||||
#include <QtDBus/QDBusMetaType>
|
||||
#include <QtGlobal>
|
||||
#include <QString>
|
||||
@@ -205,6 +206,12 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::getValueHash
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this->derived()); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant<PQ>(derived(), variant); }
|
||||
|
||||
//! \copydoc CValueObject::toJson
|
||||
virtual QJsonObject toJson() const override;
|
||||
|
||||
|
||||
@@ -34,12 +34,6 @@ namespace BlackMisc
|
||||
//! \copydoc CPhysicalQuantity(const QString &unitString)
|
||||
CPressure(const QString &unitString) : CPhysicalQuantity(unitString) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
//! Virtual destructor
|
||||
virtual ~CPressure() {}
|
||||
};
|
||||
|
||||
@@ -34,12 +34,6 @@ namespace BlackMisc
|
||||
//! \copydoc CPhysicalQuantity(const QString &unitString)
|
||||
CSpeed(const QString &unitString) : CPhysicalQuantity(unitString) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
//! Destructor
|
||||
virtual ~CSpeed() {}
|
||||
};
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#define BLACKMISC_PQSTRING_H
|
||||
|
||||
#include "blackmisc/valueobject.h"
|
||||
#include "blackmisc/blackmiscfreefunctions.h"
|
||||
#include <QVariant>
|
||||
|
||||
namespace BlackMisc
|
||||
@@ -69,12 +70,6 @@ namespace BlackMisc
|
||||
//! Constructor, for values such as 10km/h
|
||||
CPqString(const QString &value) : m_string(value) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
//! \copydoc CValueObject::getMetaTypeId
|
||||
int getMetaTypeId() const override;
|
||||
|
||||
@@ -87,6 +82,12 @@ namespace BlackMisc
|
||||
//! Unequal operator !=
|
||||
bool operator !=(const CPqString &other) const;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
|
||||
@@ -33,9 +33,6 @@ namespace BlackMisc
|
||||
//! \copydoc CPhysicalQuantity(const QString &unitString)
|
||||
CTemperature(const QString &unitString) : CPhysicalQuantity(unitString) {}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Destructor
|
||||
virtual ~CTemperature() {}
|
||||
};
|
||||
|
||||
@@ -49,9 +49,6 @@ namespace BlackMisc
|
||||
//! \copydoc CPhysicalQuantity(const QString &unitString)
|
||||
CTime(const QString &unitString) : CPhysicalQuantity(0, CTimeUnit::nullUnit()) { this->parseFromString(unitString); }
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Destructor
|
||||
virtual ~CTime() {}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#undef min
|
||||
|
||||
#include "blackmisc/pqbase.h"
|
||||
#include "blackmisc/blackmiscfreefunctions.h"
|
||||
#include <QtDBus/QDBusArgument>
|
||||
#include <QList>
|
||||
#include <QtCore/qmath.h>
|
||||
@@ -56,13 +57,11 @@ namespace BlackMisc
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CLengthUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::toQVariant
|
||||
*/
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Default unit
|
||||
static const CLengthUnit &defaultUnit() { return m(); }
|
||||
@@ -171,13 +170,11 @@ namespace BlackMisc
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CAngleUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::toQVariant
|
||||
*/
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Default unit
|
||||
static const CAngleUnit &defaultUnit() { return deg(); }
|
||||
@@ -269,13 +266,11 @@ namespace BlackMisc
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CFrequencyUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::toQVariant
|
||||
*/
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Default unit
|
||||
static const CFrequencyUnit &defaultUnit() { return Hz(); }
|
||||
@@ -360,13 +355,11 @@ namespace BlackMisc
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CMassUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::toQVariant
|
||||
*/
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Default unit
|
||||
static const CMassUnit &defaultUnit() { return kg(); }
|
||||
@@ -461,13 +454,11 @@ namespace BlackMisc
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CPressureUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::toQVariant
|
||||
*/
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Default unit
|
||||
static const CPressureUnit &defaultUnit() { return hPa(); }
|
||||
@@ -583,13 +574,11 @@ namespace BlackMisc
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CTemperatureUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::toQVariant
|
||||
*/
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Default unit
|
||||
static const CTemperatureUnit &defaultUnit() { return C(); }
|
||||
@@ -669,13 +658,11 @@ namespace BlackMisc
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CSpeedUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::toQVariant
|
||||
*/
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Default unit
|
||||
static const CSpeedUnit &defaultUnit() { return m_s(); }
|
||||
@@ -780,13 +767,11 @@ namespace BlackMisc
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CTimeUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::toQVariant
|
||||
*/
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Default unit
|
||||
static const CTimeUnit &defaultUnit() { return s(); }
|
||||
@@ -910,13 +895,11 @@ namespace BlackMisc
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CAccelerationUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::toQVariant
|
||||
*/
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Default unit
|
||||
static const CAccelerationUnit &defaultUnit() { return m_s2(); }
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#define BLACKMISC_PROPERTYINDEX_H
|
||||
|
||||
#include "valueobject.h"
|
||||
#include "blackmiscfreefunctions.h"
|
||||
#include <initializer_list>
|
||||
|
||||
namespace BlackMisc
|
||||
@@ -95,18 +96,11 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::CPropertyIndexlueHash()
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
//! CValueObject::toQVariant()
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override
|
||||
{
|
||||
Q_ASSERT(variant.canConvert<CPropertyIndex>());
|
||||
if (variant.canConvert<CPropertyIndex>())
|
||||
{
|
||||
(*this) = variant.value<CPropertyIndex>();
|
||||
}
|
||||
}
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::toJson
|
||||
virtual QJsonObject toJson() const override;
|
||||
|
||||
@@ -40,10 +40,10 @@ namespace BlackMisc
|
||||
}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Notification flag (play notification?)
|
||||
bool getNotificationFlag(BlackSound::CNotificationSounds::Notification notification) const;
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "propertyindex.h"
|
||||
#include "hwkeyboardkey.h"
|
||||
#include "hotkeyfunction.h"
|
||||
#include "blackmiscfreefunctions.h"
|
||||
#include <QStringList>
|
||||
#include <QKeySequence>
|
||||
|
||||
@@ -55,14 +56,7 @@ namespace BlackMisc
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override
|
||||
{
|
||||
Q_ASSERT(variant.canConvert<CSettingKeyboardHotkey>());
|
||||
if (variant.canConvert<CSettingKeyboardHotkey>())
|
||||
{
|
||||
(*this) = variant.value<CSettingKeyboardHotkey>();
|
||||
}
|
||||
}
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::getValueHash
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
@@ -30,23 +30,27 @@ namespace BlackMisc
|
||||
//! Construct from a base class object.
|
||||
CSettingKeyboardHotkeyList(const CSequence<CSettingKeyboardHotkey> &baseClass);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Contains given hotkey function?
|
||||
bool containsFunction(const CHotkeyFunction &function) const;
|
||||
|
||||
//! Key for given function
|
||||
BlackMisc::Settings::CSettingKeyboardHotkey keyForFunction(const CHotkeyFunction &function) const;
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
/*!
|
||||
* Fill the list with hotkeys
|
||||
* \param reset true, list will be be reset, otherwise values will not be overridde
|
||||
*/
|
||||
void initAsHotkeyList(bool reset = true);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
};
|
||||
|
||||
} //namespace
|
||||
|
||||
@@ -64,10 +64,10 @@ namespace BlackMisc
|
||||
}
|
||||
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Value object, traffic network server objects
|
||||
BlackMisc::Network::CServerList getTrafficNetworkServers() const { return m_trafficNetworkServers; }
|
||||
|
||||
@@ -87,6 +87,9 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::toQVariant()
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Type as string
|
||||
const QString &getTypeAsString() const;
|
||||
|
||||
|
||||
@@ -38,12 +38,14 @@ namespace BlackMisc
|
||||
//! Find by severity
|
||||
CStatusMessageList findBySeverity(CStatusMessage::StatusSeverity severity) const;
|
||||
|
||||
//! \copydoc CValueObject::asQVariant
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata of unit and quantity
|
||||
static void registerMetadata();
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -103,17 +103,17 @@ namespace BlackMisc
|
||||
/*
|
||||
* Return backing streamable object (if any)
|
||||
*/
|
||||
const CValueObject *CValueObject::fromQVariant(const QVariant &qv)
|
||||
const CValueObject *CValueObject::convertFromQVariant(const QVariant &variant)
|
||||
{
|
||||
if (!qv.isValid()) return nullptr;
|
||||
QVariant::Type t = qv.type();
|
||||
uint ut = qv.userType();
|
||||
if (!variant.isValid()) return nullptr;
|
||||
QVariant::Type t = variant.type();
|
||||
uint ut = variant.userType();
|
||||
if (t != QVariant::UserType) return nullptr; // not a user type
|
||||
if (ut <= QVariant::UserType) return nullptr; // complex Qt type
|
||||
if (qv.canConvert<QDBusArgument>()) return nullptr; // not unstreamed yet
|
||||
if (variant.canConvert<QDBusArgument>()) return nullptr; // not unstreamed yet
|
||||
|
||||
// this cast cannot be dynamic, so the above conditions are crucical
|
||||
const CValueObject *vo = static_cast<const CValueObject *>(qv.constData());
|
||||
const CValueObject *vo = static_cast<const CValueObject *>(variant.constData());
|
||||
return vo;
|
||||
}
|
||||
|
||||
|
||||
@@ -192,6 +192,9 @@ namespace BlackMisc
|
||||
//! Virtual method to return CVariant
|
||||
virtual CVariant toCVariant() const { return CVariant(this->toQVariant()); }
|
||||
|
||||
//! Set from QVariant
|
||||
virtual void fromQVariant(const QVariant &variant) = 0;
|
||||
|
||||
//! Contribute to JSON object
|
||||
virtual QJsonObject toJson() const { QJsonObject json; return json;}
|
||||
|
||||
@@ -217,7 +220,7 @@ namespace BlackMisc
|
||||
virtual QString propertyByIndexAsString(const CPropertyIndex &index, bool i18n = false) const;
|
||||
|
||||
//! The stored object as CValueObject
|
||||
static const CValueObject *fromQVariant(const QVariant &qv);
|
||||
static const CValueObject *convertFromQVariant(const QVariant &variant);
|
||||
|
||||
protected:
|
||||
//! Default constructor
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace BlackMisc
|
||||
{
|
||||
if (type() == QVariant::UserType)
|
||||
{
|
||||
const CValueObject *s = CValueObject::fromQVariant(m_v); // FIXME this will return garbage if value is not a CValueObject
|
||||
const CValueObject *s = CValueObject::convertFromQVariant(m_v); // FIXME this will return garbage if value is not a CValueObject
|
||||
Q_ASSERT(s);
|
||||
if (s)
|
||||
{
|
||||
@@ -133,7 +133,7 @@ namespace BlackMisc
|
||||
{
|
||||
// value object?
|
||||
const QVariant qv = this->toQVariant();
|
||||
const CValueObject *cv = CValueObject::fromQVariant(qv);
|
||||
const CValueObject *cv = CValueObject::convertFromQVariant(qv);
|
||||
if (cv)
|
||||
{
|
||||
h = cv->getValueHash();
|
||||
@@ -171,6 +171,4 @@ namespace BlackMisc
|
||||
var = fixQVariantFromDbusArgument(dbusVar.variant(), QMetaType::type(qPrintable(typeName)));
|
||||
return arg;
|
||||
}
|
||||
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
//! \file
|
||||
|
||||
#include "propertyindex.h"
|
||||
#include "blackmiscfreefunctions.h"
|
||||
#include <QString>
|
||||
|
||||
#ifndef BLACKMISC_VOICEROOM_H
|
||||
@@ -46,9 +47,6 @@ namespace BlackMisc
|
||||
//! Constructor.
|
||||
CVoiceRoom(const QString &voiceRoomUrl, bool connected = false);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! Get the host name
|
||||
const QString &getHostname() const { return m_hostname; }
|
||||
|
||||
@@ -110,6 +108,12 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::fromJson
|
||||
void fromJson(const QJsonObject &json) override;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
|
||||
@@ -38,6 +38,9 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::fromQVariant
|
||||
virtual void fromQVariant(const QVariant &variant) override { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \brief Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user