Хранилища Subversion OpenInventory

Редакция

Редакция 156 | Редакция 158 | К новейшей редакции | Весь файл | Учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS

Редакция 156 Редакция 157
Строка 365... Строка 365...
365
QString parent_object_id;
365
QString parent_object_id;
366
int i;
366
int i;
367
QTreeWidgetItem * parent_item;
367
QTreeWidgetItem * parent_item;
368
item_type = item->text(1);
368
item_type = item->text(1);
369
parent_item = item->parent();
369
parent_item = item->parent();
370
if (item_type == tr("object"))
-
 
371
    {
370
372
        QString  class_id;
371
QString  class_id; // èäåíòèôèêàòîð âûáðàííîãî êëàññà
373
        QString ID;
-
 
374
        QString inctance;
372
QString inctance;
375
        QString filtr_tmp;
373
QString filtr_tmp;
-
 
374
QMap <QString, QString> pointersList;
-
 
375
QStringList dateFieldList;
-
 
376
QString pointer_name;
-
 
377
-
 
378
if (item_type == tr("object") || item_type == tr("class")){
376
379
377
        disconnect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
380
disconnect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
378
381
-
 
382
static QList<int> colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ íåñòàíäàðòíûìè äåëåãàòàìè
-
 
383
static QList<int> date_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "DATE"
-
 
384
static QList<SpinBoxDelegate *> spin_delegate_list;// ñïèñîê óêàçàòåëåé íà íåñòàíäàðòíûå äåëåãàòû
-
 
385
SpinBoxDelegate * spin_delegate_tmp;
-
 
386
-
 
387
// Ñïåðâà "î÷èñòèì" òàáëèöó îò íåñòàíäàðòíûõ äåëåãàòîâ
-
 
388
for (i=0; i < colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
-
 
389
    ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò
-
 
390
// ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
-
 
391
-
 
392
}
-
 
393
colomns_indexes.clear(); // î÷èùàåñ ñïèñîê ñòîëáöîâ ñ íåñòàíäàðòíûìè äåëåãàòàìè
-
 
394
-
 
395
// "Î÷èñòèì" òàáëèöó îò äåëåãàòîâ äëÿ òèïà "DATE"
-
 
396
for (i=0; i < date_colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
-
 
397
    ui->tableView->setItemDelegateForColumn(date_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò
-
 
398
// ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
-
 
399
-
 
400
}
-
 
401
-
 
402
-
 
403
-
 
404
if (item_type == tr("object"))
-
 
405
    {
-
 
406
          QString ID;
379
        ui->pushButton->setEnabled(false);
407
        ui->pushButton->setEnabled(false);
380
        ui->pushButton_2->setEnabled(false);
408
        ui->pushButton_2->setEnabled(false);
381
409
382
        class_id = parent_item->text(2);
410
        class_id = parent_item->text(2);
383
        ID = item->text(2);
411
        ID = item->text(2);
384
        inctance = parent_item->text(3);
412
        inctance = parent_item->text(3);
385
        delete sql_mogel;
413
        delete sql_mogel;
386
414
387
        ///////sql_mogel = new QSqlTableModel();
-
 
388
        sql_mogel = new MyModel();
415
        sql_mogel = new MyModel();
389
416
390
        //        sql_mogel = new QSqlTableModel(this);
-
 
391
        sql_mogel->setTable(inctance);
417
        sql_mogel->setTable(inctance);
392
        // sql_mogel->setEditStrategy(QSqlTableModel::OnFieldChange);
418
        // sql_mogel->setEditStrategy(QSqlTableModel::OnFieldChange);
393
        sql_mogel->setEditStrategy(QSqlTableModel::OnManualSubmit);
419
        sql_mogel->setEditStrategy(QSqlTableModel::OnManualSubmit);
394
420
395
        filtr_tmp.append(tr("`"));
421
        filtr_tmp.append(tr("`"));
396
        filtr_tmp.append(tr("ID"));
422
        filtr_tmp.append(tr("ID"));
397
        filtr_tmp.append(tr("`"));
423
        filtr_tmp.append(tr("`"));
398
        filtr_tmp.append(tr(" = '"));
424
        filtr_tmp.append(tr(" = '"));
399
        filtr_tmp.append(ID);
425
        filtr_tmp.append(ID);
400
        filtr_tmp.append(tr("'"));
426
        filtr_tmp.append(tr("'"));
401
        sql_mogel->setFilter(filtr_tmp);
-
 
402
        sql_mogel->select();
-
 
403
-
 
404
-
 
405
        ui->tableView->setModel(sql_mogel);
-
 
406
        ui->tableView->resizeColumnsToContents();
-
 
407
        ui->tableView->hideColumn(0);
-
 
408
427
409
        connect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
-
 
410
-
 
411
        //sql_mogel->clear();
-
 
412
        //sql_mogel->select();
-
 
413
     //   ui->tableView->setVisible(false);
-
 
414
     //   i++;
-
 
415
    }
428
    }
416
if (item_type == tr("class"))
429
if (item_type == tr("class"))
417
    {
430
    {
418
        QString parent_object_id; // èäåíòèôèêàòîð ðîäèòåëüñêîãî îáúåêòà
431
        QString parent_object_id; // èäåíòèôèêàòîð ðîäèòåëüñêîãî îáúåêòà
419
432
420
        QString class_id; // èäåíòèôèêàòîð âûáðàííîãî êëàññà
-
 
421
        QString inctance;
-
 
422
        QString parent_class_inctance;
433
        QString parent_class_inctance;
423
        QString pointer_name;
-
 
424
        QString filtr_tmp;
-
 
425
-
 
426
434
427
435
428
   //     sql_mogel->clear();
-
 
429
-
 
430
        ui->pushButton->setEnabled(true);
436
        ui->pushButton->setEnabled(true);
431
        ui->pushButton_2->setEnabled(true);
437
        ui->pushButton_2->setEnabled(true);
432
438
433
        disconnect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
-
 
434
-
 
435
        parent_object_id = parent_item->text(2);
439
        parent_object_id = parent_item->text(2);
436
440
437
        parentObject_id = parent_item->text(2);
441
        parentObject_id = parent_item->text(2);
438
442
439
        class_id = item->text(2);
443
        class_id = item->text(2);
440
        inctance = item->text(3);
444
        inctance = item->text(3);
441
445
442
    //    parent_class_inctance = parent_item->parent()->text(3); // óçíàåì õðàíèëèùå îáúåêòîâ ðîäèòåëüñêîãî êëàññà
-
 
443
-
 
444
       // pointer_name = parent_item->text(4);
-
 
445
        pointer_name = item->text(4);
446
        pointer_name = item->text(4);
446
        delete sql_mogel;
447
        delete sql_mogel;
447
448
448
-
 
449
        ////// sql_mogel = new QSqlTableModel();
-
 
450
-
 
451
        sql_mogel = new MyModel();
449
        sql_mogel = new MyModel();
452
450
453
        //        sql_mogel = new QSqlTableModel(this);
451
        //        sql_mogel = new QSqlTableModel(this);
454
        sql_mogel->setTable(inctance);
452
        sql_mogel->setTable(inctance);
455
        // sql_mogel->setEditStrategy(QSqlTableModel::OnFieldChange);
453
        // sql_mogel->setEditStrategy(QSqlTableModel::OnFieldChange);
Строка 461... Строка 459...
461
            filtr_tmp.append(pointer_name);
459
            filtr_tmp.append(pointer_name);
462
            filtr_tmp.append(tr("`"));
460
            filtr_tmp.append(tr("`"));
463
            filtr_tmp.append(tr(" = '"));
461
            filtr_tmp.append(tr(" = '"));
464
            filtr_tmp.append(parent_object_id);
462
            filtr_tmp.append(parent_object_id);
465
            filtr_tmp.append(tr("'"));
463
            filtr_tmp.append(tr("'"));
466
            sql_mogel->setFilter(filtr_tmp);
-
 
467
        }
-
 
468
-
 
469
        /****************************************
-
 
470
         spinDelegate.setInctance(parent_class_inctance);
-
 
471
         spinDelegate.getItems();
-
 
472
         ui->tableView->setItemDelegateForColumn(2, &spinDelegate);
-
 
473
        ***************************************/
-
 
474
-
 
475
-
 
476
        sql_mogel->select();
-
 
477
-
 
478
        QMap <QString, QString> pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé
-
 
479
        QStringList dateFieldList = getDataFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "DATE"
-
 
480
464
481
        QMap <int, QString> pointersToModel;
465
        }
482
466
483
        //QStringList pointersNames;
-
 
484
        static QList<int> colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ íåñòàíäàðòíûìè äåëåãàòàìè
-
 
485
        static QList<int> date_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "DATE"
-
 
486
        static QList<SpinBoxDelegate *> spin_delegate_list;// ñïèñîê óêàçàòåëåé íà íåñòàíäàðòíûå äåëåãàòû
-
 
487
        SpinBoxDelegate * spin_delegate_tmp;
-
 
488
467
-
 
468
    }
489
469
490
        // Ñïåðâà "î÷èñòèì" òàáëèöó îò íåñòàíäàðòíûõ äåëåãàòîâ
-
 
491
        for (i=0; i < colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
-
 
492
            ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò
-
 
493
        // ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
-
 
494
470
495
        }
-
 
496
        colomns_indexes.clear(); // î÷èùàåñ ñïèñîê ñòîëáöîâ ñ íåñòàíäàðòíûìè äåëåãàòàìè
-
 
497
471
498
        // "Î÷èñòèì" òàáëèöó îò äåëåãàòîâ äëÿ òèïà "DATE"
-
 
499
        for (i=0; i < date_colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
472
pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé
500
            ui->tableView->setItemDelegateForColumn(date_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò
-
 
501
        // ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
473
dateFieldList = getDataFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "DATE"
502
474
503
        }
-
 
504
        date_colomns_indexes.clear(); // î÷èùàåì ñïèñîê ñòîëáöîâ ñ äåëåãàòàìè äëÿ òèïà "DATE"
475
QMap <int, QString> pointersToModel;
505
476
506
477
507
478
508
        for (int i=0; i < dateFieldList.count(); i++){ // äëÿ âñåõ ïîëåé ñ òèïîì "DATA"
479
for (int i=0; i < dateFieldList.count(); i++){ // äëÿ âñåõ ïîëåé ñ òèïîì "DATA"
509
            static MyDEDelegate dateDelegate;
480
    static MyDEDelegate dateDelegate;
Строка 568... Строка 539...
568
539
569
        sql_mogel->setPointers(pointersToModel); // ïåðåäàåì ñïèñîê ìîäåëè
540
sql_mogel->setPointers(pointersToModel); // ïåðåäàåì ñïèñîê ìîäåëè
570
541
571
        pointer_index = sql_mogel->record().indexOf(pointer_name); // ýòî ãëîáàëüíàÿ ïåðåìåííàÿ, íå òðîãàåì, íóæíà! :-)
542
pointer_index = sql_mogel->record().indexOf(pointer_name); // ýòî ãëîáàëüíàÿ ïåðåìåííàÿ, íå òðîãàåì, íóæíà! :-)
572
543
573
        ui->tableView->setModel(sql_mogel);
-
 
574
-
 
575
        ui->tableView->resizeColumnsToContents();
-
 
576
        ui->tableView->hideColumn(0);
-
 
577
-
 
578
-
 
579
-
 
580
-
 
581
-
 
582
-
 
583
-
 
584
        /**********************************************************/
-
 
585
-
 
586
  //      for (int i; i < sql_mogel->rowCount(); i++ ) {
-
 
587
  //          ui->tableView->setRowHeight(i, 100);
-
 
588
  //      }
-
 
589
-
 
590
        /**********************************************************/
-
 
591
-
 
592
-
 
593
544
594
545
595
546
-
 
547
sql_mogel->setFilter(filtr_tmp);
-
 
548
sql_mogel->select();
596
549
597
        connect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
550
connect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
598
551
-
 
552
ui->tableView->setModel(sql_mogel);
599
553
600
        //     ui->tableView->setVisible(true);;
554
ui->tableView->resizeColumnsToContents();
601
        i++;
-
 
602
    }
-
 
603
-
 
604
//parent_object_id = parent_object_item->text(1);
555
ui->tableView->hideColumn(0);
605
-
 
606
-
 
607
-
 
608
556
609
557
610
i++;
558
    }
611
559
612
}
560
}
613
561
614
562
615
void MainWindow::on_pushButton_clicked(){ // íàæàòèå êíîïêè "äîáàâèòü ñòðîêó"
563
void MainWindow::on_pushButton_clicked(){ // íàæàòèå êíîïêè "äîáàâèòü ñòðîêó"