1
/*******************************************************************
3
Part of the Fritzing project - http://fritzing.org
4
Copyright (c) 2007-2009 Fachhochschule Potsdam - http://fh-potsdam.de
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.
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.
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/>.
19
********************************************************************
22
$Author: cohen@irascible.com $:
23
$Date: 2009-12-10 12:50:56 +0100 (Thu, 10 Dec 2009) $
25
********************************************************************/
27
#ifndef RESIZABLERECTITEM_H_
28
#define RESIZABLERECTITEM_H_
30
#include <QGraphicsRectItem>
32
class ConnectorRectangle;
34
class ResizableRectItem {
35
friend class ConnectorRectangle;
38
virtual ~ResizableRectItem() {}
40
virtual qreal minWidth() = 0;
41
virtual qreal minHeight() = 0;
42
virtual void resizeRect(qreal x, qreal y, qreal width, qreal height) = 0;
43
virtual void doPrepareGeometryChange() = 0;
45
void setResizable(bool resizable);
49
ConnectorRectangle *m_handlers;
53
#endif /* RESIZABLERECTITEM_H_ */