QGIS API Documentation  2.6.0-Brighton
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
qgsgraphdirector.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsgraphdirector.h
3  --------------------------------------
4  Date : 2010-10-18
5  Copyright : (C) 2010 by Yakushev Sergey
6  Email : YakushevS <at> list.ru
7 ****************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15 #ifndef QGSGRAPHDIRECTORH
16 #define QGSGRAPHDIRECTORH
17 
18 //QT4 includes
19 #include <QObject>
20 #include <QVector>
21 #include <QList>
22 
23 //QGIS includes
24 #include <qgspoint.h>
25 #include "qgsarcproperter.h"
26 
27 //forward declarations
29 
35 class ANALYSIS_EXPORT QgsGraphDirector : public QObject
36 {
37  Q_OBJECT
38 
39  signals:
40  void buildProgress( int, int ) const;
41  void buildMessage( QString ) const;
42 
43  public:
45  virtual ~QgsGraphDirector() { };
46 
58  virtual void makeGraph( QgsGraphBuilderInterface *builder,
59  const QVector< QgsPoint > &additionalPoints,
60  QVector< QgsPoint > &tiedPoints ) const
61  {
62  Q_UNUSED( builder );
63  Q_UNUSED( additionalPoints );
64  Q_UNUSED( tiedPoints );
65  }
66 
67  void addProperter( QgsArcProperter* prop )
68  {
69  mProperterList.push_back( prop );
70  }
71 
75  virtual QString name() const = 0;
76 
77  protected:
78  QList<QgsArcProperter*> mProperterList;
79 };
80 #endif //QGSGRAPHDIRECTORH