00001 #include <QBoxLayout> 00002 #include <QToolButton> 00003 #include <QFontComboBox> 00004 #include <QSpinBox> 00005 #include <QTextEdit> 00006 #include <QMimeData> 00007 00008 #include "main.h" 00009 #include "clipbrecords.h" 00010 00011 clipbrecords::clipbrecords(void) : QMimeData() 00012 { 00013 init(); 00014 } 00015 00016 00017 clipbrecords::~clipbrecords(void) 00018 { 00019 00020 } 00021 00022 00023 void clipbrecords::init(void) 00024 { 00025 records.table.clear(); 00026 00027 clipb_records_formats.clear(); 00028 clipb_records_formats << "mytetra/records"; 00029 } 00030 00031 00032 void clipbrecords::add_record(QMap<QString, QString> record) 00033 { 00034 records.table << record; 00035 } 00036 00037 00038 void clipbrecords::print(void) const 00039 { 00040 QListIterator< QMap<QString, QString> > list(records.table); 00041 00042 // Перебор записей 00043 while (list.hasNext()) 00044 { 00045 // list.next(); 00046 00047 // Перебор строк в записи 00048 QMapIterator<QString, QString> line(list.next()); 00049 while(line.hasNext()) 00050 { 00051 line.next(); 00052 qDebug() << line.key() << ": " << line.value(); 00053 } 00054 00055 } 00056 } 00057 00058 00059 // Количество хранимых записей 00060 int clipbrecords::get_records_num(void) const 00061 { 00062 return records.table.size(); 00063 } 00064 00065 00066 // Получение записи с указанным номером 00067 QMap<QString, QString> clipbrecords::get_record(int n) const 00068 { 00069 if(n<records.table.size()) 00070 return records.table.at(n); 00071 else 00072 { 00073 critical_error("In clipbrecords get_record() unavailable number "+QString::number(n)); 00074 return QMap<QString, QString>(); 00075 } 00076 } 00077 00078 00079 QStringList clipbrecords::formats() const 00080 { 00081 return clipb_records_formats; 00082 } 00083 00084 00085 QVariant clipbrecords::retrieveData(const QString &format,QVariant::Type preferredType) const 00086 { 00087 if(format=="mytetra/records") 00088 { 00089 QVariant v; 00090 v.setValue(records); 00091 return v; 00092 } 00093 00094 return 0; 00095 } 00096