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: 6912 $:
22 $Author: irascibl@gmail.com $:
23 $Date: 2013-03-09 08:18:59 +0100 (Sa, 09. Mrz 2013) $
24 
25 ********************************************************************/
26 
27 #ifndef VIA_H
28 #define VIA_H
29 
30 #include "hole.h"
31 
32 class Via : public Hole
33 {
34 	Q_OBJECT
35 
36 public:
37 	Via(ModelPart *, ViewLayer::ViewID, const ViewGeometry & viewGeometry, long id, QMenu * itemMenu, bool doLabel);
38 	~Via();
39 
40 	void setAutoroutable(bool);
41 	bool getAutoroutable();
42 	ConnectorItem * connectorItem();
43 	void saveInstanceLocation(QXmlStreamWriter & streamWriter);
44 
45 public:
46 	static const QString AutorouteViaHoleSize;
47 	static const QString AutorouteViaRingThickness;
48 	static QString DefaultAutorouteViaHoleSize;
49 	static QString DefaultAutorouteViaRingThickness;
50 
51 public:
52 	static void initHoleSettings(HoleSettings & holeSettings);
53 
54 protected:
55 	QString makeID();
56 	void setBoth(const QString & holeDiameter, const QString &  thickness);
57 
58 protected:
59 	static void setBothConnectors(ItemBase * itemBase, SvgIdLayer * svgIdLayer);
60 
61 };
62 
63 #endif
64