00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- ***************************** 00002 * Qwt Widget Library 00003 * Copyright (C) 1997 Josef Wilgen 00004 * Copyright (C) 2002 Uwe Rathmann 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the Qwt License, Version 1.0 00008 *****************************************************************************/ 00009 00010 #include "qwt_legend_data.h" 00011 00013 QwtLegendData::QwtLegendData() 00014 { 00015 } 00016 00018 QwtLegendData::~QwtLegendData() 00019 { 00020 } 00021 00031 void QwtLegendData::setValues( const QMap<int, QVariant> &map ) 00032 { 00033 d_map = map; 00034 } 00035 00040 const QMap<int, QVariant> &QwtLegendData::values() const 00041 { 00042 return d_map; 00043 } 00044 00049 bool QwtLegendData::hasRole( int role ) const 00050 { 00051 return d_map.contains( role ); 00052 } 00053 00062 void QwtLegendData::setValue( int role, const QVariant &data ) 00063 { 00064 d_map[role] = data; 00065 } 00066 00071 QVariant QwtLegendData::value( int role ) const 00072 { 00073 if ( !d_map.contains( role ) ) 00074 return QVariant(); 00075 00076 return d_map[role]; 00077 } 00078 00080 bool QwtLegendData::isValid() const 00081 { 00082 return !d_map.isEmpty(); 00083 } 00084 00086 QwtText QwtLegendData::title() const 00087 { 00088 QwtText text; 00089 00090 const QVariant titleValue = value( QwtLegendData::TitleRole ); 00091 if ( titleValue.canConvert<QwtText>() ) 00092 { 00093 text = qvariant_cast<QwtText>( titleValue ); 00094 } 00095 else if ( titleValue.canConvert<QString>() ) 00096 { 00097 text.setText( qvariant_cast<QString>( titleValue ) ); 00098 } 00099 00100 return text; 00101 } 00102 00104 QwtGraphic QwtLegendData::icon() const 00105 { 00106 const QVariant iconValue = value( QwtLegendData::IconRole ); 00107 00108 QwtGraphic graphic; 00109 if ( iconValue.canConvert<QwtGraphic>() ) 00110 { 00111 graphic = qvariant_cast<QwtGraphic>( iconValue ); 00112 } 00113 00114 return graphic; 00115 } 00116 00118 QwtLegendData::Mode QwtLegendData::mode() const 00119 { 00120 const QVariant modeValue = value( QwtLegendData::ModeRole ); 00121 if ( modeValue.canConvert<int>() ) 00122 { 00123 const int mode = qvariant_cast<int>( modeValue ); 00124 return static_cast<QwtLegendData::Mode>( mode ); 00125 } 00126 00127 return QwtLegendData::ReadOnly; 00128 } 00129