Subversion Repositories OpenInventory

Rev

Rev 125 | Rev 127 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 125 Rev 126
Line 185... Line 185...
185
}
185
}
186
186
187
187
188
void MainWindow::showObjects(QTreeWidgetItem * parent_object_item, QTreeWidgetItem * model_item, QString filtr){
188
void MainWindow::showObjects(QTreeWidgetItem * parent_object_item, QTreeWidgetItem * model_item, QString filtr){
189
    QString classID; // èäåíòèôèêàòîð êëàññà
189
    QString classID; // èäåíòèôèêàòîð êëàññà
-
 
190
    QString parentClassID; // èäåíòèôèêàòîð ðîäèòåëüñêîãî êëàññà
-
 
191
    QString pointerField; // èìÿ ïîëÿ-óêàçàòåëÿ íà ðîäèòåëüñêèé êëàññ
190
    QString inctance; // èìÿ òàáëèöû, õðàíèëèùà
192
    QString inctance; // èìÿ òàáëèöû, õðàíèëèùà
191
    QString className; // èìÿ êëàññà
193
    QString className; // èìÿ êëàññà
192
    int field_ID;
194
    int field_ID;
193
    bool filtr_empty;
195
    bool filtr_empty;
194
    bool ok;
196
    bool ok;
Line 199... Line 201...
199
    QFont font;
201
    QFont font;
200
   // font.setWeight(40);
202
   // font.setWeight(40);
201
    font.setBold(true);
203
    font.setBold(true);
202
    filtr_empty = filtr.isEmpty();
204
    filtr_empty = filtr.isEmpty();
203
    classID = model_item->text(1);
205
    classID = model_item->text(1);
-
 
206
-
 
207
    parentClassID = model_item->parent()->text(1);
-
 
208
-
 
209
    pointerField = getPointerFieldName(parentClassID, classID);
-
 
210
204
    className = model_item->text(0);
211
    className = model_item->text(0);
205
    inctance = getClassInctance(classID);
212
    inctance = getClassInctance(classID);
206
213
207
    if  (!model_item->checkState(0)) return;
214
    if  (!model_item->checkState(0)) return;
208
215
Line 210... Line 217...
210
    title_item->setFont(0, font);
217
    title_item->setFont(0, font);
211
    title_item->setText(0, className);
218
    title_item->setText(0, className);
212
    title_item->setText(1, tr("class"));
219
    title_item->setText(1, tr("class"));
213
    title_item->setText(2, classID);
220
    title_item->setText(2, classID);
214
    title_item->setText(3, inctance);
221
    title_item->setText(3, inctance);
-
 
222
    title_item->setText(4, pointerField);
215
    title_item->setTextColor(0, Qt::darkBlue);
223
    title_item->setTextColor(0, Qt::darkBlue);
216
224
-
 
225
217
    sql_str = tr("select * "
226
    sql_str = tr("select * "
218
                 " from "       //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà
227
                 " from "       //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà
219
                 );
228
                 );
220
    sql_str.append(inctance);
229
    sql_str.append(inctance);
221
    if (!filtr.isEmpty())   { // åñëè ôèëüòð íå ïóñòîé
230
    if (!filtr.isEmpty())   { // åñëè ôèëüòð íå ïóñòîé
Line 272... Line 281...
272
                        QString filtr_tmp;
281
                        QString filtr_tmp;
273
                        bool pointer_isEmpty;
282
                        bool pointer_isEmpty;
274
                        model_item_tmp = model_item->child(i);      // îòîáðàæàåì îáúåêòû äî÷åðíèõ êëàññîâ
283
                        model_item_tmp = model_item->child(i);      // îòîáðàæàåì îáúåêòû äî÷åðíèõ êëàññîâ
275
                        pointer_name = getPointerFieldName(classID, model_item->child(i)->text(1));
284
                        pointer_name = getPointerFieldName(classID, model_item->child(i)->text(1));
276
                        itm->setText(4, pointer_name);
285
                        itm->setText(4, pointer_name);
-
 
286
-
 
287
                      //  title_item->setText(4, pointer_name);
-
 
288
-
 
289
277
                        pointer_isEmpty = pointer_name.isEmpty();
290
                        pointer_isEmpty = pointer_name.isEmpty();
278
                        filtr_tmp = tr("where ");
291
                        filtr_tmp = tr("where ");
279
                        filtr_tmp.append(tr("`"));
292
                        filtr_tmp.append(tr("`"));
280
                        filtr_tmp.append(pointer_name);
293
                        filtr_tmp.append(pointer_name);
281
                        filtr_tmp.append(tr("` = '"));
294
                        filtr_tmp.append(tr("` = '"));
Line 392... Line 405...
392
    {
405
    {
393
        QString parent_object_id; // èäåíòèôèêàòîð ðîäèòåëüñêîãî îáúåêòà
406
        QString parent_object_id; // èäåíòèôèêàòîð ðîäèòåëüñêîãî îáúåêòà
394
407
395
        QString class_id; // èäåíòèôèêàòîð âûáðàííîãî êëàññà
408
        QString class_id; // èäåíòèôèêàòîð âûáðàííîãî êëàññà
396
        QString inctance;
409
        QString inctance;
-
 
410
        QString parent_class_inctance;
397
        QString pointer_name;
411
        QString pointer_name;
398
        QString filtr_tmp;
412
        QString filtr_tmp;
399
   //     sql_mogel->clear();
413
   //     sql_mogel->clear();
400
414
401
        ui->pushButton->setEnabled(true);
415
        ui->pushButton->setEnabled(true);
Line 407... Line 421...
407
421
408
        parentObject_id = parent_item->text(2);
422
        parentObject_id = parent_item->text(2);
409
423
410
        class_id = item->text(2);
424
        class_id = item->text(2);
411
        inctance = item->text(3);
425
        inctance = item->text(3);
412
        pointer_name = parent_item->text(4);
-
 
413
426
-
 
427
    //    parent_class_inctance = parent_item->parent()->text(3); // óçíàåì õðàíèëèùå îáúåêòîâ ðîäèòåëüñêîãî êëàññà
-
 
428
-
 
429
       // pointer_name = parent_item->text(4);
-
 
430
        pointer_name = item->text(4);
414
        delete sql_mogel;
431
        delete sql_mogel;
415
        sql_mogel = new QSqlTableModel();
432
        sql_mogel = new QSqlTableModel();
416
//        sql_mogel = new QSqlTableModel(this);
433
//        sql_mogel = new QSqlTableModel(this);
417
        sql_mogel->setTable(inctance);
434
        sql_mogel->setTable(inctance);
418
        // sql_mogel->setEditStrategy(QSqlTableModel::OnFieldChange);
435
        // sql_mogel->setEditStrategy(QSqlTableModel::OnFieldChange);
Line 426... Line 443...
426
            filtr_tmp.append(tr(" = '"));
443
            filtr_tmp.append(tr(" = '"));
427
            filtr_tmp.append(parent_object_id);
444
            filtr_tmp.append(parent_object_id);
428
            filtr_tmp.append(tr("'"));
445
            filtr_tmp.append(tr("'"));
429
            sql_mogel->setFilter(filtr_tmp);
446
            sql_mogel->setFilter(filtr_tmp);
430
        }
447
        }
-
 
448
-
 
449
        /****************************************
-
 
450
         spinDelegate.setInctance(parent_class_inctance);
-
 
451
         spinDelegate.getItems();
-
 
452
         ui->tableView->setItemDelegateForColumn(2, &spinDelegate);
-
 
453
        ***************************************/
-
 
454
-
 
455
431
        sql_mogel->select();
456
        sql_mogel->select();
432
457
-
 
458
-
 
459
433
        pointer_index = sql_mogel->record().indexOf(pointer_name);
460
        pointer_index = sql_mogel->record().indexOf(pointer_name);
434
461
435
        ui->tableView->setModel(sql_mogel);
462
        ui->tableView->setModel(sql_mogel);
436
463
437
        connect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
464
        connect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));