6#include "QskLabelData.h"
7#include "QskGraphicProvider.h"
10#include <qhashfunctions.h>
12static void qskRegisterLabelData()
14 qRegisterMetaType< QskLabelData >();
16#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 )
17 QMetaType::registerEqualsComparator< QskLabelData >();
21Q_CONSTRUCTOR_FUNCTION( qskRegisterLabelData )
23QskLabelData::QskLabelData(
const char* text )
28QskLabelData::QskLabelData(
const QString& text )
33QskLabelData::QskLabelData(
const QskIcon& icon )
38QskLabelData::QskLabelData(
const QString& text,
const QskIcon& icon )
44bool QskLabelData::operator==(
const QskLabelData& other )
const noexcept
46 return ( m_text == other.m_text )
47 && ( m_icon == other.m_icon );
50void QskLabelData::setText(
const QString& text )
55void QskLabelData::setIconSource(
const QUrl& source )
57 m_icon.setSource( source );
60void QskLabelData::setIcon(
const QskIcon& icon )
65QskHashValue QskLabelData::hash( QskHashValue seed )
const
67 const auto hash = qHash( m_text, seed );
68 return m_icon.hash( hash );
71QVector< QskLabelData > qskCreateLabelData(
const QStringList& list )
73 QVector< QskLabelData > labelData;
74 labelData.reserve( list.size() );
76 for (
const auto& text : list )
82#ifndef QT_NO_DEBUG_STREAM
86QDebug operator<<( QDebug debug,
const QskLabelData& labelData )
88 QDebugStateSaver saver( debug );
91 const auto icon = labelData.icon();
92 const auto text = labelData.text();
94 debug <<
"Label" <<
"( ";
95 if ( !text.isEmpty() )
102 if ( !icon.source().isEmpty() )
104 debug << icon.source();
106 else if ( !icon.maybeGraphic().isNull() )
108 debug <<
"I:" << icon.maybeGraphic().hash( 0 );
118#include "moc_QskLabelData.cpp"