Редакция 129 | Редакция 132 | К новейшей редакции | Весь файл | Учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 129 | Редакция 130 | ||
---|---|---|---|
Строка 466... | Строка 466... | ||
466 | sql_mogel->select(); |
466 | sql_mogel->select(); |
467 | 467 | ||
468 | QMap <QString, QString> pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé |
468 | QMap <QString, QString> pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé |
469 | QMap <int, QString> pointersToModel; |
469 | QMap <int, QString> pointersToModel; |
470 | 470 | ||
- | 471 | QStringList pointersNames;
|
|
- | 472 | static QList<int> colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ íåñòàíäàðòíûìè äåëåãàòàìè |
|
- | 473 | ||
- | 474 | // Ñïåðâà "î÷èñòèì" òàáëèöó îò íåñòàíäàðòíûõ äåëåãàòîâ
|
|
- | 475 | for (i=0; i < colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé: |
|
- | 476 | ||
- | 477 | ||
- | 478 | ||
- | 479 | ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò |
|
- | 480 | ||
- | 481 | }
|
|
- | 482 | ||
- | 483 | colomns_indexes.clear(); // î÷èùàåñ ñïèñîê ñòîëáöîâ ñ íåñòàíäàðòíûìè äåëåãàòàìè |
|
- | 484 | ||
- | 485 | ||
471 | QStringList pointersNames = pointersList.keys(); //çäåñü ñïèñîê èìåí ïîëåé-óêàçàòåëåé íà ðîäèòåëüñêèå êëàññû |
486 | pointersNames = pointersList.keys(); //çäåñü ñïèñîê èìåí ïîëåé-óêàçàòåëåé íà ðîäèòåëüñêèå êëàññû |
- | 487 | ||
- | 488 | ||
- | 489 | ||
- | 490 | ||
- | 491 | ||
472 | QStringList parentInctancesList = pointersList.values(); // çäåñü ñïèñîê ñîîòâåòñòâóþùèõ õðàíèëèù |
492 | QStringList parentInctancesList = pointersList.values(); // çäåñü ñïèñîê ñîîòâåòñòâóþùèõ õðàíèëèù |
473 | 493 | ||
474 | for (i=0; i < pointersNames.size(); i++){ |
494 | for (i=0; i < pointersNames.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé: |
475 | QString pointerName;
|
495 | QString pointerName;
|
476 | 496 | ||
477 | int pointerIndex; |
497 | int pointerIndex; |
478 | pointerName = pointersNames.at(i); |
498 | pointerName = pointersNames.at(i); // îïðåäåëÿåì èìÿ ïîëÿ-óêàçàòåëÿ |
479 | pointerIndex = sql_mogel->record().indexOf(pointerName); |
499 | pointerIndex = sql_mogel->record().indexOf(pointerName); // îïðåäåëÿåì íîìåð ñòîëáöà â ìîäåëå |
480 | - | ||
- | 500 | colomns_indexes.append(pointerIndex); // çàïîìíèì íîìåð ñòîëáöà ñ íåñòàíäàðòíûì äåëåãàòîì |
|
481 | spinDelegate.setInctance(parentInctancesList.at(i)); |
501 | spinDelegate.setInctance(parentInctancesList.at(i)); // äåëåãàòó ïåðåäàåì èìÿ õðàíèëèùà îáúåêòîâ ðîäèòåëüñêîãî êëàññà |
482 | spinDelegate.getItems(); |
502 | spinDelegate.getItems(); // ïðîñèì äåëåãàòà ñîñòàâèòü ñïèñîê îáúåêòîâ â õðàíèëèùå |
483 | ui->tableView->setItemDelegateForColumn(pointerIndex, &spinDelegate); |
503 | ui->tableView->setItemDelegateForColumn(pointerIndex, &spinDelegate); // è ïðèñâàèâàåì åãî ñîîòâåòñòâóþùåìó ñòîëáöó íàøåé òàáëèöû |
484 | 504 | ||
485 | 505 | ||
486 | pointersToModel.insert(pointerIndex, parentInctancesList.at(i)); |
506 | pointersToModel.insert(pointerIndex, parentInctancesList.at(i)); // ôîðìèðóåì ñïèñîê ñòîëáöîâ ñ óêàçàòåëÿìè |
487 | }
|
507 | }
|
488 | 508 | ||
489 | sql_mogel->setPointers(pointersToModel); |
509 | sql_mogel->setPointers(pointersToModel); // ïåðåäàåì ñïèñîê ìîäåëè |
490 | 510 | ||
491 | pointer_index = sql_mogel->record().indexOf(pointer_name); |
511 | pointer_index = sql_mogel->record().indexOf(pointer_name); // ýòî ãëîáàëüíàÿ ïåðåìåííàÿ, íå òðîãàåì, íóæíà! :-) |
492 | 512 | ||
493 | ui->tableView->setModel(sql_mogel); |
513 | ui->tableView->setModel(sql_mogel); |
494 | 514 | ||
495 | connect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex))); |
515 | connect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex))); |
496 | 516 |