Subversion Repositories OpenInventory

Rev

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

Rev 114 Rev 115
Line 206... Line 206...
206
    title_item = new  QTreeWidgetItem(parent_object_item);
206
    title_item = new  QTreeWidgetItem(parent_object_item);
207
    title_item->setFont(0, font);
207
    title_item->setFont(0, font);
208
    title_item->setText(0, className);
208
    title_item->setText(0, className);
209
    title_item->setText(1, tr("class"));
209
    title_item->setText(1, tr("class"));
210
    title_item->setText(2, classID);
210
    title_item->setText(2, classID);
-
 
211
    title_item->setText(3, inctance);
211
    title_item->setTextColor(0, Qt::darkBlue);
212
    title_item->setTextColor(0, Qt::darkBlue);
212
213
213
    sql_str = tr("select * "
214
    sql_str = tr("select * "
214
                 " from "       //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà
215
                 " from "       //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà
215
                 );
216
                 );
Line 258... Line 259...
258
                        QString pointer_name;
259
                        QString pointer_name;
259
                        QString filtr_tmp;
260
                        QString filtr_tmp;
260
                        bool pointer_isEmpty;
261
                        bool pointer_isEmpty;
261
                        model_item_tmp = model_item->child(i);      // îòîáðàæàåì îáúåêòû äî÷åðíèõ êëàññîâ
262
                        model_item_tmp = model_item->child(i);      // îòîáðàæàåì îáúåêòû äî÷åðíèõ êëàññîâ
262
                        pointer_name = getPointerFieldName(classID, model_item->child(i)->text(1));
263
                        pointer_name = getPointerFieldName(classID, model_item->child(i)->text(1));
-
 
264
                        itm->setText(4, pointer_name);
263
                        pointer_isEmpty = pointer_name.isEmpty();
265
                        pointer_isEmpty = pointer_name.isEmpty();
264
                        filtr_tmp = tr("where ");
266
                        filtr_tmp = tr("where ");
265
                        filtr_tmp.append(tr("`"));
267
                        filtr_tmp.append(tr("`"));
266
                        filtr_tmp.append(pointer_name);
268
                        filtr_tmp.append(pointer_name);
267
                        filtr_tmp.append(tr("` = '"));
269
                        filtr_tmp.append(tr("` = '"));
Line 286... Line 288...
286
288
287
        }
289
        }
288
290
289
}
291
}
290
292
-
 
293
291
QString MainWindow::getPointerFieldName(QString parent_class_id, QString chield_class_id){
294
QString MainWindow::getPointerFieldName(QString parent_class_id, QString chield_class_id){
292
295
293
    QSqlQuery q;
296
    QSqlQuery q;
294
    QString sql_str;
297
    QString sql_str;
295
    QString str_tmp;
298
    QString str_tmp;
Line 322... Line 325...
322
        result = q.value(field_name).toString();
325
        result = q.value(field_name).toString();
323
    }
326
    }
324
return result;
327
return result;
325
}
328
}
326
329
-
 
330
-
 
331
-
 
332
void MainWindow::on_treeWidget_2_itemClicked ( QTreeWidgetItem * item, int column ){
-
 
333
QString item_type; // òèï óçëà (èìÿ êëàññà èäè îáúåêò)
-
 
334
QString parent_object_id;
-
 
335
int i;
-
 
336
QTreeWidgetItem * parent_item;
-
 
337
item_type = item->text(1);
-
 
338
parent_item = item->parent();
-
 
339
if (item_type == tr("object"))
-
 
340
    {
-
 
341
        QString  class_id;
-
 
342
        class_id = parent_item->text(2);
-
 
343
        i++;
-
 
344
    }
-
 
345
if (item_type == tr("class"))
-
 
346
    {
-
 
347
        QString parent_object_id; // èäåíòèôèêàòîð ðîäèòåëüñêîãî îáúåêòà
-
 
348
        QString class_id; // èäåíòèôèêàòîð âûáðàííîãî êëàññà
-
 
349
        QString inctance;
-
 
350
        QString pointer_name;
-
 
351
        QString filtr_tmp;
-
 
352
        parent_object_id = parent_item->text(2);
-
 
353
        class_id = item->text(2);
-
 
354
        inctance = item->text(3);
-
 
355
        pointer_name = parent_item->text(4);
-
 
356
-
 
357
        filtr_tmp.append(tr("`"));
-
 
358
        filtr_tmp.append(pointer_name);
-
 
359
        filtr_tmp.append(tr("`"));
-
 
360
        filtr_tmp.append(tr(" = '"));
-
 
361
        filtr_tmp.append(parent_object_id);
-
 
362
        filtr_tmp.append(tr("'"));
-
 
363
-
 
364
-
 
365
        sql_mogel = new QSqlTableModel(this);
-
 
366
        sql_mogel->setTable(inctance);
-
 
367
        sql_mogel->setEditStrategy(QSqlTableModel::OnFieldChange);
-
 
368
        sql_mogel->setFilter(filtr_tmp);
-
 
369
        sql_mogel->select();
-
 
370
        ui->tableView->setModel(sql_mogel);
-
 
371
-
 
372
        i++;
-
 
373
    }
-
 
374
-
 
375
//parent_object_id = parent_object_item->text(1);
-
 
376
-
 
377
-
 
378
-
 
379
-
 
380
-
 
381
i++;
-
 
382
-
 
383
}
-
 
384
-
 
385