Хранилища Subversion OpenInventory

Сравнить редакции

Учитывать пробелы Редакция 156 → Редакция 157

/trunk/DBViewer/database.cpp
367,15 → 367,43
QTreeWidgetItem * parent_item;
item_type = item->text(1);
parent_item = item->parent();
if (item_type == tr("object"))
{
QString class_id;
QString ID;
 
QString class_id; // èäåíòèôèêàòîð âûáðàííîãî êëàññà
QString inctance;
QString filtr_tmp;
QMap <QString, QString> pointersList;
QStringList dateFieldList;
QString pointer_name;
 
if (item_type == tr("object") || item_type == tr("class")){
 
disconnect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
 
static QList<int> colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ íåñòàíäàðòíûìè äåëåãàòàìè
static QList<int> date_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "DATE"
static QList<SpinBoxDelegate *> spin_delegate_list;// ñïèñîê óêàçàòåëåé íà íåñòàíäàðòíûå äåëåãàòû
SpinBoxDelegate * spin_delegate_tmp;
 
// Ñïåðâà "î÷èñòèì" òàáëèöó îò íåñòàíäàðòíûõ äåëåãàòîâ
for (i=0; i < colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò
// ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
 
}
colomns_indexes.clear(); // î÷èùàåñ ñïèñîê ñòîëáöîâ ñ íåñòàíäàðòíûìè äåëåãàòàìè
 
// "Î÷èñòèì" òàáëèöó îò äåëåãàòîâ äëÿ òèïà "DATE"
for (i=0; i < date_colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
ui->tableView->setItemDelegateForColumn(date_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò
// ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
 
}
 
 
 
if (item_type == tr("object"))
{
QString ID;
ui->pushButton->setEnabled(false);
ui->pushButton_2->setEnabled(false);
 
384,10 → 412,8
inctance = parent_item->text(3);
delete sql_mogel;
 
///////sql_mogel = new QSqlTableModel();
sql_mogel = new MyModel();
 
// sql_mogel = new QSqlTableModel(this);
sql_mogel->setTable(inctance);
// sql_mogel->setEditStrategy(QSqlTableModel::OnFieldChange);
sql_mogel->setEditStrategy(QSqlTableModel::OnManualSubmit);
398,40 → 424,18
filtr_tmp.append(tr(" = '"));
filtr_tmp.append(ID);
filtr_tmp.append(tr("'"));
sql_mogel->setFilter(filtr_tmp);
sql_mogel->select();
 
 
ui->tableView->setModel(sql_mogel);
ui->tableView->resizeColumnsToContents();
ui->tableView->hideColumn(0);
 
connect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
 
//sql_mogel->clear();
//sql_mogel->select();
// ui->tableView->setVisible(false);
// i++;
}
if (item_type == tr("class"))
{
QString parent_object_id; // èäåíòèôèêàòîð ðîäèòåëüñêîãî îáúåêòà
 
QString class_id; // èäåíòèôèêàòîð âûáðàííîãî êëàññà
QString inctance;
QString parent_class_inctance;
QString pointer_name;
QString filtr_tmp;
 
 
 
// sql_mogel->clear();
 
ui->pushButton->setEnabled(true);
ui->pushButton_2->setEnabled(true);
 
disconnect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
 
parent_object_id = parent_item->text(2);
 
parentObject_id = parent_item->text(2);
439,15 → 443,9
class_id = item->text(2);
inctance = item->text(3);
 
// parent_class_inctance = parent_item->parent()->text(3); // óçíàåì õðàíèëèùå îáúåêòîâ ðîäèòåëüñêîãî êëàññà
 
// pointer_name = parent_item->text(4);
pointer_name = item->text(4);
delete sql_mogel;
 
 
////// sql_mogel = new QSqlTableModel();
 
sql_mogel = new MyModel();
 
// sql_mogel = new QSqlTableModel(this);
463,48 → 461,21
filtr_tmp.append(tr(" = '"));
filtr_tmp.append(parent_object_id);
filtr_tmp.append(tr("'"));
sql_mogel->setFilter(filtr_tmp);
 
}
 
/****************************************
spinDelegate.setInctance(parent_class_inctance);
spinDelegate.getItems();
ui->tableView->setItemDelegateForColumn(2, &spinDelegate);
***************************************/
 
}
 
sql_mogel->select();
 
QMap <QString, QString> pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé
QStringList dateFieldList = getDataFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "DATE"
 
pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé
dateFieldList = getDataFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "DATE"
 
QMap <int, QString> pointersToModel;
 
//QStringList pointersNames;
static QList<int> colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ íåñòàíäàðòíûìè äåëåãàòàìè
static QList<int> date_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "DATE"
static QList<SpinBoxDelegate *> spin_delegate_list;// ñïèñîê óêàçàòåëåé íà íåñòàíäàðòíûå äåëåãàòû
SpinBoxDelegate * spin_delegate_tmp;
 
 
// Ñïåðâà "î÷èñòèì" òàáëèöó îò íåñòàíäàðòíûõ äåëåãàòîâ
for (i=0; i < colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò
// ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
 
}
colomns_indexes.clear(); // î÷èùàåñ ñïèñîê ñòîëáöîâ ñ íåñòàíäàðòíûìè äåëåãàòàìè
 
// "Î÷èñòèì" òàáëèöó îò äåëåãàòîâ äëÿ òèïà "DATE"
for (i=0; i < date_colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
ui->tableView->setItemDelegateForColumn(date_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò
// ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
 
}
date_colomns_indexes.clear(); // î÷èùàåì ñïèñîê ñòîëáöîâ ñ äåëåãàòàìè äëÿ òèïà "DATE"
 
 
 
for (int i=0; i < dateFieldList.count(); i++){ // äëÿ âñåõ ïîëåé ñ òèïîì "DATA"
static MyDEDelegate dateDelegate;
QString dateFieldName; // èìÿ ïîëÿ
570,45 → 541,22
 
pointer_index = sql_mogel->record().indexOf(pointer_name); // ýòî ãëîáàëüíàÿ ïåðåìåííàÿ, íå òðîãàåì, íóæíà! :-)
 
ui->tableView->setModel(sql_mogel);
 
ui->tableView->resizeColumnsToContents();
ui->tableView->hideColumn(0);
 
 
sql_mogel->setFilter(filtr_tmp);
sql_mogel->select();
 
connect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
 
ui->tableView->setModel(sql_mogel);
 
ui->tableView->resizeColumnsToContents();
ui->tableView->hideColumn(0);
 
 
/**********************************************************/
 
// for (int i; i < sql_mogel->rowCount(); i++ ) {
// ui->tableView->setRowHeight(i, 100);
// }
 
/**********************************************************/
 
 
 
 
 
 
connect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
 
 
// ui->tableView->setVisible(true);;
i++;
}
 
//parent_object_id = parent_object_item->text(1);
 
 
 
 
 
i++;
 
}