1 /*******************************************************************
2 
3 Part of the Fritzing project - http://fritzing.org
4 Copyright (c) 2007-2014 Fachhochschule Potsdam - http://fh-potsdam.de
5 
6 Fritzing is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10 
11 Fritzing is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15 
16 You should have received a copy of the GNU General Public License
17 along with Fritzing.  If not, see <http://www.gnu.org/licenses/>.
18 
19 ********************************************************************
20 
21 $Revision: 6904 $:
22 $Author: irascibl@gmail.com $:
23 $Date: 2013-02-26 16:26:03 +0100 (Di, 26. Feb 2013) $
24 
25 ********************************************************************/
26 
27 #include "expandinglabel.h"
28 
ExpandingLabel(QWidget * parent,int minSize)29 ExpandingLabel::ExpandingLabel(QWidget *parent, int minSize) : QTextEdit(parent) {
30 	setMinimumWidth(minSize);
31 	setReadOnly(true);
32 	setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
33 	setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
34 }
35 
setLabelText(const QString & theText)36 void ExpandingLabel::setLabelText(const QString& theText) {
37 	document()->setHtml(theText);
38 	setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
39 	setAlignment(Qt::AlignCenter);
40 	setContextMenuPolicy(Qt::NoContextMenu);
41 }
42 
allTextVisible()43 void ExpandingLabel::allTextVisible() {
44 	QTextDocument *doc = document();
45 	doc->setTextWidth(width());
46 	int height = doc->documentLayout()->documentSize().toSize().height();
47 	setFixedHeight(height);
48 }
49 
mouseMoveEvent(QMouseEvent * event)50 void ExpandingLabel::mouseMoveEvent(QMouseEvent * event) {
51 	QAbstractScrollArea::mouseMoveEvent(event);
52 }
53 
mousePressEvent(QMouseEvent * event)54 void ExpandingLabel::mousePressEvent(QMouseEvent *event) {
55 	emit mousePressSignal(event);
56 	QAbstractScrollArea::mousePressEvent(event);
57 }
58 
mouseReleaseEvent(QMouseEvent * event)59 void ExpandingLabel::mouseReleaseEvent(QMouseEvent *event) {
60 	emit mouseReleaseSignal(event);
61 	QAbstractScrollArea::mouseReleaseEvent(event);
62 }
63 
64