kspread
Binding.h
Go to the documentation of this file.00001 /* This file is part of the KDE project 00002 Copyright 2007 Stefan Nikolaus <stefan.nikolaus@kdemail.net> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 Boston, MA 02110-1301, USA. 00018 */ 00019 00020 #ifndef KSPREAD_BINDING 00021 #define KSPREAD_BINDING 00022 00023 #include <QSharedDataPointer> 00024 00025 #include "Region.h" 00026 00027 #include "kspread_export.h" 00028 00029 class QAbstractItemModel; 00030 00031 namespace KSpread 00032 { 00033 00041 class KSPREAD_EXPORT Binding 00042 { 00043 public: 00044 Binding(); 00045 explicit Binding(const Region& region); 00046 Binding( const Binding& other ); 00047 ~Binding(); 00048 00049 bool isEmpty() const; 00050 00051 QAbstractItemModel* model() const; 00052 00053 const Region& region() const; 00054 void setRegion(const Region& region); 00055 00056 void update(const Region& region); 00057 00058 void operator=( const Binding& other ); 00059 bool operator==( const Binding& other ) const; 00060 bool operator<( const Binding& other ) const; 00061 00062 private: 00063 class Private; 00064 QExplicitlySharedDataPointer<Private> d; 00065 }; 00066 00067 } // namespace KSpread 00068 00069 Q_DECLARE_TYPEINFO( KSpread::Binding, Q_MOVABLE_TYPE ); 00070 00071 #endif // KSPREAD_BINDING
