00001 #ifndef _CLIPBRECORDS_H_ 00002 #define _CLIPBRECORDS_H_ 00003 00004 #include <QWidget> 00005 #include <QMimeData> 00006 #include <QMap> 00007 #include <QList> 00008 00009 // Определяется структура данных 00010 // которая будет передаваться через буфер обмена 00011 struct clipb_records_struct 00012 { 00013 QList< QMap<QString, QString> > table; 00014 }; 00015 Q_DECLARE_METATYPE(clipb_records_struct); 00016 00017 00018 class clipbrecords : public QMimeData 00019 { 00020 Q_OBJECT 00021 00022 public: 00023 clipbrecords(void); 00024 ~clipbrecords(void); 00025 00026 void init(void); 00027 void add_record(QMap<QString, QString> record); 00028 void print(void) const; 00029 int get_records_num(void) const; 00030 QMap<QString, QString> get_record(int n) const; 00031 00032 // Этот метод QMimeData надо переопределить, так как он виртуальный 00033 QStringList formats() const; 00034 00035 protected: 00036 // Этот метод QMimeData надо переопределить, так как он виртуальный 00037 QVariant retrieveData(const QString &format,QVariant::Type preferredType) const; 00038 00039 private: 00040 00041 clipb_records_struct records; // Данные, которые передаются через буфер обмена 00042 QStringList clipb_records_formats; 00043 00044 }; 00045 00046 #endif // _CLIPBRECORDS_H_