Subversion Repositories OpenInventory

Compare Revisions

Ignore whitespace Rev 157 → Rev 158

/trunk/DBViewer/database.cpp
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()