File indexing completed on 2024-05-12 05:46:50

0001 /***************************************************************************
0002  *   Copyright 2010 Stefan Majewsky <majewsky@gmx.net>
0003  *
0004  *   This program is free software; you can redistribute it and/or
0005  *   modify it under the terms of the GNU Library General Public
0006  *   License as published by the Free Software Foundation; either
0007  *   version 2 of the License, or (at your option) any later version.
0008  *
0009  *   This program is distributed in the hope that it will be useful,
0010  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
0011  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0012  *   GNU Library General Public License for more details.
0013  *
0014  *   You should have received a copy of the GNU Library General Public
0015  *   License along with this program; if not, write to the Free Software
0016  *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
0017 ***************************************************************************/
0018 
0019 #ifndef PALAPELI_ELIDINGLABEL_H
0020 #define PALAPELI_ELIDINGLABEL_H
0021 
0022 #include <QLabel>
0023 
0024 namespace Palapeli
0025 {
0026     class ElidingLabel : public QLabel
0027     {
0028         public:
0029             explicit ElidingLabel(QWidget* parent = nullptr);
0030 
0031             QSize minimumSizeHint() const override;
0032             QSize sizeHint() const override;
0033 
0034             QString fullText() const;
0035             void setFullText(const QString& text);
0036         protected:
0037             void resizeEvent(QResizeEvent* event) override;
0038         private:
0039             QString m_fullText;
0040     };
0041 }
0042 
0043 #endif // PALAPELI_ELIDINGLABEL_H