text: // Copyright (C) 2008  Lukas Lalinsky
  //
  // This program is free software; you can redistribute it and/or modify
  // it under the terms of the GNU General Public License as published by
  // the Free Software Foundation; either version 2 of the License, or
  // at your option) any later version.
  //
  // This program is distributed in the hope that it will be useful,
  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  // GNU General Public License for more details.
  //
  // You should have received a copy of the GNU General Public License along
  // with this program; if not, write to the Free Software Foundation, Inc.,
  // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  
  #ifndef CONNECTOR_H
  #define CONNECTOR_H
  
  #include <QPointF>
  class Line;
  class DiagramObject;
  class Hub;
  
  class Connector
  {
  public:
  	Connector(Line *owner);
  	Line *owner() const;
  
  	QPointF pos() const;
  	void setPos(const QPointF &pos);
  
  	qreal angle() const;
  	void setAngle(qreal angle);
  
  	bool isConnected() const;
  	DiagramObject *connectedObject() const;
  
  	Connector *otherEnd() const;
  	
  	Hub *hub() const;
  	void setHub(Hub *hub);
  
  	void addToHub();
  	void removeFromHub();
  
  private:
  	QPointF m_pos;
  	qreal m_angle;
  	Line *m_owner;
  	Hub *m_hub;
  };
  
  #endif
  