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
28
29 #include "abstractconnectorinfowidget.h"
30 #include "connectorinforemovebutton.h"
31 #include "connectorsinfowidget.h"
32 #include "../utils/misc.h"
33
34 #include <QVariant>
35
36 int AbstractConnectorInfoWidget::SingleConnectorHeight = 40;
37
AbstractConnectorInfoWidget(ConnectorsInfoWidget * topLevelContainer,QWidget * parent)38 AbstractConnectorInfoWidget::AbstractConnectorInfoWidget(ConnectorsInfoWidget *topLevelContainer, QWidget *parent)
39 : QFrame(parent)
40 {
41 m_topLevelContainer = topLevelContainer;
42 m_removeButton = new ConnectorInfoRemoveButton(this);
43
44 connect(
45 m_removeButton, SIGNAL(clicked(AbstractConnectorInfoWidget*)),
46 topLevelContainer, SLOT(removeConnector(AbstractConnectorInfoWidget*))
47 );
48
49 setMinimumWidth(100);
50
51 setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred);
52 setMinimumHeight(SingleConnectorHeight);
53 }
54
setSelected(bool selected,bool doEmitChange)55 void AbstractConnectorInfoWidget::setSelected(bool selected, bool doEmitChange) {
56 m_isSelected = selected;
57 setProperty("selected",m_isSelected);
58
59 reapplyStyle();
60
61 if(selected) {
62 setFocus();
63 if(doEmitChange) {
64 emit tellSistersImNewSelected(this);
65 }
66 }
67 }
68
reapplyStyle()69 void AbstractConnectorInfoWidget::reapplyStyle() {
70 QString path = ":/resources/styles/partseditor.qss";
71 QFile styleSheet(path);
72
73 if (!styleSheet.open(QIODevice::ReadOnly)) {
74 qWarning("Unable to open :/resources/styles/partseditor.qss");
75 } else {
76 setStyleSheet(styleSheet.readAll());
77 }
78 }
79
isSelected()80 bool AbstractConnectorInfoWidget::isSelected() {
81 return m_isSelected;
82 }
83