Eneboo - Documentación para desarrolladores
|
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 // vim: expandtab 00011 00012 #ifndef QWT_LEGEND_ITEM_H 00013 #define QWT_LEGEND_ITEM_H 00014 00015 #include "qwt_global.h" 00016 #include "qwt_legend.h" 00017 #include "qwt_text.h" 00018 #include "qwt_text_label.h" 00019 00020 class QPainter; 00021 class QPen; 00022 class QwtSymbol; 00023 00035 class QWT_EXPORT QwtLegendItem: public QwtTextLabel 00036 { 00037 Q_OBJECT 00038 public: 00039 00047 enum IdentifierMode 00048 { 00049 NoIdentifier = 0, 00050 ShowLine = 1, 00051 ShowSymbol = 2, 00052 ShowText = 4 00053 }; 00054 00055 explicit QwtLegendItem(QWidget *parent = 0); 00056 explicit QwtLegendItem(const QwtSymbol &, const QPen &, 00057 const QwtText &, QWidget *parent = 0); 00058 virtual ~QwtLegendItem(); 00059 00060 virtual void setText(const QwtText &); 00061 00062 void setItemMode(QwtLegend::LegendItemMode); 00063 QwtLegend::LegendItemMode itemMode() const; 00064 00065 void setIdentifierMode(int); 00066 int identifierMode() const; 00067 00068 void setIdentfierWidth(int width); 00069 int identifierWidth() const; 00070 00071 void setSpacing(int spacing); 00072 int spacing() const; 00073 00074 void setSymbol(const QwtSymbol &); 00075 const QwtSymbol& symbol() const; 00076 00077 void setCurvePen(const QPen &); 00078 const QPen& curvePen() const; 00079 00080 virtual void drawIdentifier(QPainter *, const QRect &) const; 00081 virtual void drawItem(QPainter *p, const QRect &) const; 00082 00083 virtual QSize sizeHint() const; 00084 00085 bool isChecked() const; 00086 00087 public slots: 00088 void setChecked(bool on); 00089 00090 signals: 00092 void clicked(); 00093 00095 void pressed(); 00096 00098 void released(); 00099 00101 void checked(bool); 00102 00103 protected: 00104 void setDown(bool); 00105 bool isDown() const; 00106 00107 virtual void paintEvent(QPaintEvent *); 00108 virtual void mousePressEvent(QMouseEvent *); 00109 virtual void mouseReleaseEvent(QMouseEvent *); 00110 virtual void keyPressEvent(QKeyEvent *); 00111 virtual void keyReleaseEvent(QKeyEvent *); 00112 00113 virtual void drawText(QPainter *, const QRect &); 00114 00115 private: 00116 void init(const QwtText &); 00117 00118 class PrivateData; 00119 PrivateData *d_data; 00120 }; 00121 00122 #endif // QWT_LEGEND_ITEM_H