home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / qt3_emx.zip / include / qsqlform.h < prev    next >
C/C++ Source or Header  |  2001-07-26  |  3KB  |  100 lines

  1. /****************************************************************************
  2. **
  3. ** Definition of QSqlForm class
  4. **
  5. ** Created : 2000-11-03
  6. **
  7. ** Copyright (C) 2000 Trolltech AS.  All rights reserved.
  8. **
  9. ** This file is part of the sql module of the Qt GUI Toolkit.
  10. **
  11. ** This file may be distributed under the terms of the Q Public License
  12. ** as defined by Trolltech AS of Norway and appearing in the file
  13. ** LICENSE.QPL included in the packaging of this file.
  14. **
  15. ** This file may be distributed and/or modified under the terms of the
  16. ** GNU General Public License version 2 as published by the Free Software
  17. ** Foundation and appearing in the file LICENSE.GPL included in the
  18. ** packaging of this file.
  19. **
  20. ** Licensees holding valid Qt Enterprise Edition licenses may use this
  21. ** file in accordance with the Qt Commercial License Agreement provided
  22. ** with the Software.
  23. **
  24. ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  25. ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  26. **
  27. ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
  28. **   information about Qt Commercial License Agreements.
  29. ** See http://www.trolltech.com/qpl/ for QPL licensing information.
  30. ** See http://www.trolltech.com/gpl/ for GPL licensing information.
  31. **
  32. ** Contact info@trolltech.com if any conditions of this licensing are
  33. ** not clear to you.
  34. **
  35. **********************************************************************/
  36.  
  37. #ifndef QSQLFORM_H
  38. #define QSQLFORM_H
  39.  
  40. #ifndef QT_H
  41. #include "qobject.h"
  42. #include "qmap.h"
  43. #endif // QT_H
  44.  
  45. #if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
  46. #define QM_EXPORT_SQL
  47. #else
  48. #define QM_EXPORT_SQL Q_EXPORT
  49. #endif
  50.  
  51. #ifndef QT_NO_SQL
  52.  
  53. class QSqlField;
  54. class QSqlRecord;
  55. class QSqlEditorFactory;
  56. class QSqlPropertyMap;
  57. class QWidget;
  58. class QSqlFormPrivate;
  59.  
  60. class QM_EXPORT_SQL QSqlForm : public QObject
  61. {
  62.     Q_OBJECT
  63. public:
  64.     QSqlForm( QObject * parent = 0, const char * name = 0 );
  65.     ~QSqlForm();
  66.  
  67.     virtual void insert( QWidget * widget, const QString& field );
  68.     virtual void remove( const QString& field );
  69.     uint         count() const;
  70.  
  71.     QWidget *   widget( uint i ) const;
  72.     QSqlField * widgetToField( QWidget * widget ) const;
  73.     QWidget *   fieldToWidget( QSqlField * field ) const;
  74.  
  75.     void        installPropertyMap( QSqlPropertyMap * map );
  76.  
  77.     virtual void setRecord( QSqlRecord* buf );
  78.  
  79. public slots:
  80.     virtual void readField( QWidget * widget );
  81.     virtual void writeField( QWidget * widget );
  82.     virtual void readFields();
  83.     virtual void writeFields();
  84.  
  85.     virtual void clear();
  86.     virtual void clearValues( bool nullify = FALSE );
  87.  
  88. protected:
  89.     virtual void insert( QWidget * widget, QSqlField * field );
  90.     virtual void remove( QWidget * widget );
  91.     void clearMap();
  92.  
  93. private:
  94.     virtual void sync();
  95.     QSqlFormPrivate* d;
  96. };
  97.  
  98. #endif // QT_NO_SQL
  99. #endif // QSQLFORM_H
  100.