Subversion Repositories OpenInventory

Rev

Rev 157 | Rev 159 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 157 Rev 158
Line 370... Line 370...
370
370
371
QString  class_id; // èäåíòèôèêàòîð âûáðàííîãî êëàññà
371
QString  class_id; // èäåíòèôèêàòîð âûáðàííîãî êëàññà
372
QString inctance;
372
QString inctance;
373
QString filtr_tmp;
373
QString filtr_tmp;
374
QMap <QString, QString> pointersList;
374
QMap <QString, QString> pointersList;
375
QStringList dateFieldList;
375
QStringList dateFieldList; // ñïèñîê èìåí ïîëåé ñ òèïîì "DATE"
-
 
376
QStringList boolFieldList; // ñïèñîê èìåí ïîëåé ñ òèïîì "BOOL"
376
QString pointer_name;
377
QString pointer_name; // ñïèñîê èìåí ïîëåé
377
378
378
if (item_type == tr("object") || item_type == tr("class")){
379
if (item_type == tr("object") || item_type == tr("class")){
379
380
380
disconnect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
381
disconnect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
381
382
382
static QList<int> colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ íåñòàíäàðòíûìè äåëåãàòàìè
383
static QList<int> colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ íåñòàíäàðòíûìè äåëåãàòàìè
383
static QList<int> date_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "DATE"
384
static QList<int> date_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "DATE"
-
 
385
static QList <int> bool_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "BOOL"
384
static QList<SpinBoxDelegate *> spin_delegate_list;// ñïèñîê óêàçàòåëåé íà íåñòàíäàðòíûå äåëåãàòû
386
static QList<SpinBoxDelegate *> spin_delegate_list;// ñïèñîê óêàçàòåëåé íà íåñòàíäàðòíûå äåëåãàòû
385
SpinBoxDelegate * spin_delegate_tmp;
387
SpinBoxDelegate * spin_delegate_tmp;
386
388
387
// Ñïåðâà "î÷èñòèì" òàáëèöó îò íåñòàíäàðòíûõ äåëåãàòîâ
389
// Ñïåðâà "î÷èñòèì" òàáëèöó îò íåñòàíäàðòíûõ äåëåãàòîâ
388
for (i=0; i < colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
390
for (i=0; i < colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
Line 397... Line 399...
397
    ui->tableView->setItemDelegateForColumn(date_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò
399
    ui->tableView->setItemDelegateForColumn(date_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò
398
// ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
400
// ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
399
401
400
}
402
}
401
403
-
 
404
date_colomns_indexes.clear();
-
 
405
-
 
406
// "Î÷èñòèì" òàáëèöó îò äåëåãàòîâ äëÿ òèïà "BOOL"
-
 
407
for (i=0; i < bool_colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
-
 
408
    ui->tableView->setItemDelegateForColumn(bool_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò
-
 
409
// ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
-
 
410
-
 
411
}
-
 
412
-
 
413
bool_colomns_indexes.clear();
402
414
403
415
404
if (item_type == tr("object"))
416
if (item_type == tr("object"))
405
    {
417
    {
406
          QString ID;
418
          QString ID;
Line 469... Line 481...
469
481
470
482
471
483
472
pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé
484
pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé
473
dateFieldList = getDataFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "DATE"
485
dateFieldList = getDataFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "DATE"
474
-
 
-
 
486
boolFieldList = getBoolFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "BOOL"
475
QMap <int, QString> pointersToModel;
487
QMap <int, QString> pointersToModel;
476
488
477
489
478
490
479
for (int i=0; i < dateFieldList.count(); i++){ // äëÿ âñåõ ïîëåé ñ òèïîì "DATA"
491
for (int i=0; i < dateFieldList.count(); i++){ // äëÿ âñåõ ïîëåé ñ òèïîì "DATA"
480
    static MyDEDelegate dateDelegate;
492
     static MyDEDelegate dateDelegate;
-
 
493
   // static TimeEditDelegate dateDelegate("01.10.2010");
481
    QString dateFieldName; // èìÿ ïîëÿ
494
    QString dateFieldName; // èìÿ ïîëÿ
482
    int dataFieldIndex; //
495
    int dataFieldIndex; //
483
    dateFieldName = dateFieldList.at(i); // îïðåäåëÿåì èìÿ ïîëÿ ñ òèïîì "DATA"
496
    dateFieldName = dateFieldList.at(i); // îïðåäåëÿåì èìÿ ïîëÿ ñ òèïîì "DATA"
484
    dataFieldIndex = sql_mogel->record().indexOf(dateFieldName); // îïðåäåëÿåì íîìåð ñòîëáöà â ìîäåëå
497
    dataFieldIndex = sql_mogel->record().indexOf(dateFieldName); // îïðåäåëÿåì íîìåð ñòîëáöà â ìîäåëå
485
    date_colomns_indexes.append(dataFieldIndex);// çàïîìíèì íîìåð ñòîëáöà ñ äåëåãàòîì äëÿ òèïà "DATA"
498
    date_colomns_indexes.append(dataFieldIndex);// çàïîìíèì íîìåð ñòîëáöà ñ äåëåãàòîì äëÿ òèïà "DATA"
486
    ui->tableView->setItemDelegateForColumn(dataFieldIndex, &dateDelegate);
499
    ui->tableView->setItemDelegateForColumn(dataFieldIndex, &dateDelegate);
487
500
488
}
501
}
489
502
490
503
-
 
504
for (int i=0; i < boolFieldList.count(); i++){ // äëÿ âñåõ ïîëåé ñ òèïîì "BOOL"
-
 
505
   // // // //  static MyDEDelegate dateDelegate;
-
 
506
   // static TimeEditDelegate dateDelegate("01.10.2010");
-
 
507
    QString boolFieldName; // èìÿ ïîëÿ
-
 
508
    int boolFieldIndex; //
-
 
509
    boolFieldName = boolFieldList.at(i); // îïðåäåëÿåì èìÿ ïîëÿ ñ òèïîì "BOOL"
-
 
510
    boolFieldIndex = sql_mogel->record().indexOf(boolFieldName); // îïðåäåëÿåì íîìåð ñòîëáöà â ìîäåëå
-
 
511
    bool_colomns_indexes.append(boolFieldIndex);// çàïîìíèì íîìåð ñòîëáöà ñ òèïîì "DATA"
-
 
512
        // ui->tableView->setItemDelegateForColumn(dataFieldIndex, &dateDelegate);
-
 
513
-
 
514
}
-
 
515
-
 
516
sql_mogel->setBooleansList(bool_colomns_indexes);
491
517
492
518
493
for (int i=0; i < spin_delegate_list.count(); i++){ // óäàëÿåì íåñòàíäàðòíûå äåëåãàòû
519
for (int i=0; i < spin_delegate_list.count(); i++){ // óäàëÿåì íåñòàíäàðòíûå äåëåãàòû
494
delete spin_delegate_list.at(i);
520
delete spin_delegate_list.at(i);
495
 }
521
 }
Line 681... Line 707...
681
int i;
707
int i;
682
i++;
708
i++;
683
ui->pushButton_3->setEnabled(true);
709
ui->pushButton_3->setEnabled(true);
684
ui->pushButton_4->setEnabled(true);
710
ui->pushButton_4->setEnabled(true);
685
711
686
-
 
687
}
712
}
688
713
689
void MainWindow::on_model_for_ListModelsTable_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ){ // èçìåíèëè ñâîéñòâà îáúåêòà èëè äîáàâèëè íîâûé îáúåêò
714
void MainWindow::on_model_for_ListModelsTable_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ){ // èçìåíèëè ñâîéñòâà îáúåêòà èëè äîáàâèëè íîâûé îáúåêò
690
715
691
ui->pushButton_7->setEnabled(true);
716
ui->pushButton_7->setEnabled(true);
Line 792... Line 817...
792
return result_str;
817
return result_str;
793
}
818
}
794
819
795
820
796
821
-
 
822
QStringList MainWindow::getBoolFieldList(QString class_id){ // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "bool"
-
 
823
-
 
824
    QStringList  result_str;
-
 
825
    QSqlQuery q;
-
 
826
    QString sql_str;
-
 
827
    QString str_tmp;
-
 
828
    QString field;
-
 
829
    QString result;
-
 
830
    int field_name, field_default_value;
-
 
831
    bool ok;
-
 
832
    sql_str = tr("select * "
-
 
833
                 " from `DescriptionOfClasses` where `DescriptionOfClasses`.`FieldType` = 'BOOL' and  `DescriptionOfClasses`.`ClassIdentifer` = "       //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà
-
 
834
                 );
-
 
835
-
 
836
    sql_str.append(tr("'"));
-
 
837
    sql_str.append(class_id);
-
 
838
    sql_str.append(tr("' "));
-
 
839
    // sql_str.append(tr(" and  `DescriptionOfClasses`.`ClassIdentifer` = '"));
-
 
840
    // sql_str.append(chield_class_id);
-
 
841
    // sql_str.append(tr("'"));
-
 
842
    q.prepare(sql_str);
-
 
843
-
 
844
    ok = q.exec();
-
 
845
    if (!ok) {
-
 
846
                            QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
-
 
847
                                                                            this,                      // Ðîäèòåëüñêèé âèäæåò.
-
 
848
                                                                            QObject::tr("Database Error"),   // Çàãîëîâîê.
-
 
849
                                                                            q.lastError().text());          // Òåêñò ñîîáùåíèÿ.
-
 
850
                                                                            return result_str;
-
 
851
                     }
-
 
852
field_name =  q.record().indexOf(tr("FieldName"));
-
 
853
// field_default_value = q.record().indexOf(tr("DefaultValue"));
-
 
854
while(q.next()){
-
 
855
        QString DataFieldName;
-
 
856
-
 
857
         DataFieldName = q.value(field_name).toString();
-
 
858
         result_str.append(DataFieldName);
-
 
859
-
 
860
-
 
861
    }
-
 
862
-
 
863
return result_str;
-
 
864
}
-
 
865
-
 
866
-
 
867
-
 
868
797
869
798
// Ñ÷èòûâàåì íàñòðîéêè
870
// Ñ÷èòûâàåì íàñòðîéêè
799
871
800
void MainWindow::readSettings()
872
void MainWindow::readSettings()
801
{
873
{