KD Chart 2  [rev.2.5.1]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Pages
kdganttconstraintmodel.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** Copyright (C) 2001-2013 Klaralvdalens Datakonsult AB. All rights reserved.
3 **
4 ** This file is part of the KD Chart library.
5 **
6 ** Licensees holding valid commercial KD Chart licenses may use this file in
7 ** accordance with the KD Chart Commercial License Agreement provided with
8 ** the Software.
9 **
10 **
11 ** This file may be distributed and/or modified under the terms of the
12 ** GNU General Public License version 2 and version 3 as published by the
13 ** Free Software Foundation and appearing in the file LICENSE.GPL.txt included.
14 **
15 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17 **
18 ** Contact info@kdab.com if any conditions of this licensing are not
19 ** clear to you.
20 **
21 **********************************************************************/
22 
23 #ifndef KDGANTTCONSTRAINTMODEL_H
24 #define KDGANTTCONSTRAINTMODEL_H
25 
26 #include <QModelIndex>
27 #include <QDebug>
28 
29 #include "kdganttglobal.h"
30 #include "kdganttconstraint.h"
31 
32 namespace KDGantt {
33  class KDGANTT_EXPORT ConstraintModel : public QObject {
34  Q_OBJECT
36  public:
37  explicit ConstraintModel( QObject* parent=0 );
38  virtual ~ConstraintModel();
39 
45  virtual void addConstraint( const Constraint& c );
46  virtual bool removeConstraint( const Constraint& c );
47 
48  void clear();
49  void cleanup();
50 
51  QList<Constraint> constraints() const;
52 
53  bool hasConstraint( const Constraint& c ) const;
54  inline bool hasConstraint( const QModelIndex& s,
55  const QModelIndex& e ) const;
56 
57  QList<Constraint> constraintsForIndex( const QModelIndex& ) const;
58 
59  Q_SIGNALS:
60  void constraintAdded(const KDGantt::Constraint&);
61  void constraintRemoved(const KDGantt::Constraint&);
62 
63  private:
64  Private* _d;
65  };
66 
67  inline const ConstraintModel::Private* ConstraintModel::d_func() const { return _d; }
68  inline ConstraintModel::Private* ConstraintModel::d_func() { return _d; }
69  inline bool ConstraintModel::hasConstraint( const QModelIndex& s, const QModelIndex& e ) const {
70  return hasConstraint( Constraint( s, e ) );
71  }
72 }
73 
74 #ifndef QT_NO_DEBUG_STREAM
75 #include <QDebug>
76 
77 QDebug KDCHART_EXPORT operator<<( QDebug dbg, const KDGantt::ConstraintModel& model );
78 inline QDebug KDCHART_EXPORT operator<<( QDebug dbg, KDGantt::ConstraintModel* model )
79 {
80  return operator<<(dbg,*model);
81 }
82 
83 #endif /* QT_NO_DEBUG_STREAM */
84 
85 #endif /* KDGANTTCONSTRAINTMODEL_H */
86 

Klarälvdalens Datakonsult AB (KDAB)
Qt-related services and products
http://www.kdab.com/
http://www.kdab.com/products/kd-chart/