372,8 → 372,9 |
QString inctance; |
QString filtr_tmp; |
QMap <QString, QString> pointersList; |
QStringList dateFieldList; |
QString pointer_name; |
QStringList dateFieldList; // ñïèñîê èìåí ïîëåé ñ òèïîì "DATE" |
QStringList boolFieldList; // ñïèñîê èìåí ïîëåé ñ òèïîì "BOOL" |
QString pointer_name; // ñïèñîê èìåí ïîëåé |
|
if (item_type == tr("object") || item_type == tr("class")){ |
|
381,6 → 382,7 |
|
static QList<int> colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ íåñòàíäàðòíûìè äåëåãàòàìè |
static QList<int> date_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "DATE" |
static QList <int> bool_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "BOOL" |
static QList<SpinBoxDelegate *> spin_delegate_list;// ñïèñîê óêàçàòåëåé íà íåñòàíäàðòíûå äåëåãàòû |
SpinBoxDelegate * spin_delegate_tmp; |
|
399,8 → 401,18 |
|
} |
|
date_colomns_indexes.clear(); |
|
// "Î÷èñòèì" òàáëèöó îò äåëåãàòîâ äëÿ òèïà "BOOL" |
for (i=0; i < bool_colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé: |
ui->tableView->setItemDelegateForColumn(bool_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò |
// ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate); |
|
} |
|
bool_colomns_indexes.clear(); |
|
|
if (item_type == tr("object")) |
{ |
QString ID; |
471,13 → 483,14 |
|
pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé |
dateFieldList = getDataFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "DATE" |
|
boolFieldList = getBoolFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "BOOL" |
QMap <int, QString> pointersToModel; |
|
|
|
for (int i=0; i < dateFieldList.count(); i++){ // äëÿ âñåõ ïîëåé ñ òèïîì "DATA" |
static MyDEDelegate dateDelegate; |
static MyDEDelegate dateDelegate; |
// static TimeEditDelegate dateDelegate("01.10.2010"); |
QString dateFieldName; // èìÿ ïîëÿ |
int dataFieldIndex; // |
dateFieldName = dateFieldList.at(i); // îïðåäåëÿåì èìÿ ïîëÿ ñ òèïîì "DATA" |
488,8 → 501,21 |
} |
|
|
for (int i=0; i < boolFieldList.count(); i++){ // äëÿ âñåõ ïîëåé ñ òèïîì "BOOL" |
// // // // static MyDEDelegate dateDelegate; |
// static TimeEditDelegate dateDelegate("01.10.2010"); |
QString boolFieldName; // èìÿ ïîëÿ |
int boolFieldIndex; // |
boolFieldName = boolFieldList.at(i); // îïðåäåëÿåì èìÿ ïîëÿ ñ òèïîì "BOOL" |
boolFieldIndex = sql_mogel->record().indexOf(boolFieldName); // îïðåäåëÿåì íîìåð ñòîëáöà â ìîäåëå |
bool_colomns_indexes.append(boolFieldIndex);// çàïîìíèì íîìåð ñòîëáöà ñ òèïîì "DATA" |
// ui->tableView->setItemDelegateForColumn(dataFieldIndex, &dateDelegate); |
|
} |
|
sql_mogel->setBooleansList(bool_colomns_indexes); |
|
|
for (int i=0; i < spin_delegate_list.count(); i++){ // óäàëÿåì íåñòàíäàðòíûå äåëåãàòû |
delete spin_delegate_list.at(i); |
} |
683,7 → 709,6 |
ui->pushButton_3->setEnabled(true); |
ui->pushButton_4->setEnabled(true); |
|
|
} |
|
void MainWindow::on_model_for_ListModelsTable_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ){ // èçìåíèëè ñâîéñòâà îáúåêòà èëè äîáàâèëè íîâûé îáúåêò |
794,7 → 819,54 |
|
|
|
QStringList MainWindow::getBoolFieldList(QString class_id){ // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "bool" |
|
QStringList result_str; |
QSqlQuery q; |
QString sql_str; |
QString str_tmp; |
QString field; |
QString result; |
int field_name, field_default_value; |
bool ok; |
sql_str = tr("select * " |
" from `DescriptionOfClasses` where `DescriptionOfClasses`.`FieldType` = 'BOOL' and `DescriptionOfClasses`.`ClassIdentifer` = " //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà |
); |
|
sql_str.append(tr("'")); |
sql_str.append(class_id); |
sql_str.append(tr("' ")); |
// sql_str.append(tr(" and `DescriptionOfClasses`.`ClassIdentifer` = '")); |
// sql_str.append(chield_class_id); |
// sql_str.append(tr("'")); |
q.prepare(sql_str); |
|
ok = q.exec(); |
if (!ok) { |
QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
this, // Ðîäèòåëüñêèé âèäæåò. |
QObject::tr("Database Error"), // Çàãîëîâîê. |
q.lastError().text()); // Òåêñò ñîîáùåíèÿ. |
return result_str; |
} |
field_name = q.record().indexOf(tr("FieldName")); |
// field_default_value = q.record().indexOf(tr("DefaultValue")); |
while(q.next()){ |
QString DataFieldName; |
|
DataFieldName = q.value(field_name).toString(); |
result_str.append(DataFieldName); |
|
|
} |
|
return result_str; |
} |
|
|
|
|
|
// Ñ÷èòûâàåì íàñòðîéêè |
|
void MainWindow::readSettings() |