Хранилища Subversion OpenInventory

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

Не учитывать пробелы Редакция 55 → Редакция 56

/trunk/ClassEditor/mysql.cpp
142,5 → 142,175
 
}
 
tbl = new SqlTable(tr("DescriptionOfClasses")); // ñîçäàäèì òàáëèöó ñ èìåíåì DescriptionOfClassess äëÿ õðàíåíèÿ îïèñàíèÿ ïîëåé êëàññîâ
fld = new TableField(tr("FieldName"), tbl); // ýòî âòîðîå ïîëå òàáëèöû áóäåò õðàíèòü èìåíà ïîëåé, ïåðâîå ïîëå ID óæå èìååòñÿ â íîâîé òàáëèöå (îíî ñîçäàåòñÿ ïî óìîë÷àíèþ)
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
fld->setDefaultValue(tr("New field")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó
 
fld = new TableField(tr("FieldAlias"), tbl); // ýòî òðåòüå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû ïîëåé êëàññîâ
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
fld->setDefaultValue(tr("New class alias")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó
 
fld = new TableField(tr("FieldType"), tbl); // ýòî ÷åòâåðòîå ïîëå òàáëèöû áóäåò òèï ïîëÿ êëàññà
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
fld->setDefaultValue(tr("CHAR(30)")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó
 
fld = new TableField(tr("ClassIdentifer"), tbl); // ýòî ïÿòîå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû êëàññîâ
fld->setNotNull(false); // ïîëå íå ìîæåò áûòü ïóñòûì
fld->setType(tr("INT(10)")); // òèï ïîëÿ - öåëîå ÷èñëî
fld->setDefaultValue(tr("NULL")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó
 
 
 
fld = new TableField(tr("Comment"), tbl); // ýòî òðåòüå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû êëàññîâ
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
fld->setDefaultValue(tr("without comments")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó
 
 
if(!MySql::createTable(tbl)){ // åñëè íå óäàåòñÿ ñîçäàòü òàáëèöó
 
// delete fld;
delete tbl; // ÷èñòèì çà ñîáîé
return false; // âûâîäèì îøèáêó
}
 
 
else { // òàáëèöó óñïåøíî ñîçäàíà
// delete fld;
delete tbl; // ÷èñòèì çà ñîáîé
return true; // ñîîáùàåì îá óñïåõå
 
}
 
 
 
 
 
}
 
 
 
 
bool MySql::createListOfClassesTable(){
 
SqlTable* tbl;
TableField* fld;
if (!db.isOpen()){
MySql::mysqlLastError = tr("Database is not open!");
return false;
}
tbl = new SqlTable(tr("ListOfClasses")); // ñîçäàäèì òàáëèöó ñ èìåíåì ListOfClasses äëÿ õðàíåíèÿ ñïèñêà êëàññîâ
fld = new TableField(tr("ClassName"), tbl); // ýòî âòîðîå ïîëå òàáëèöû áóäåò õðàíèòü èìåíà êëàññîâ, ïåðâîå ïîëå ID óæå èìååòñÿ â íîâîé òàáëèöå (îíî ñîçäàåòñÿ ïî óìîë÷àíèþ)
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
fld->setDefaultValue(tr("New class")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó
 
fld = new TableField(tr("ClassAlias"), tbl); // ýòî òðåòüå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû êëàññîâ
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
fld->setDefaultValue(tr("New class alias")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó
 
fld = new TableField(tr("TableWhithInstance"), tbl); // ýòî òðåòüå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû êëàññîâ
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
fld->setDefaultValue(tr("New class instance")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó
 
fld = new TableField(tr("Comment"), tbl); // ýòî òðåòüå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû êëàññîâ
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
fld->setDefaultValue(tr("without comments")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó
 
 
if(!MySql::createTable(tbl)){ // åñëè íå óäàåòñÿ ñîçäàòü òàáëèöó
 
// delete fld;
delete tbl; // ÷èñòèì çà ñîáîé
return false; // âûâîäèì îøèáêó
}
 
 
else { // òàáëèöó óñïåøíî ñîçäàíà
// delete fld;
delete tbl; // ÷èñòèì çà ñîáîé
return true; // ñîîáùàåì îá óñïåõå
 
}
 
 
 
}
 
 
 
 
bool MySql::createDescriptionOfClassesTable(){ // ñîçäàåò íåîáõîäèìóþ òàáëèöó â áàçå äàííûõ äëÿ õðàíåíèÿ îïèñàíèÿ êëàññîâ (Òàáëèöà DescriptionOfClasses)
SqlTable* tbl;
TableField* fld;
if (!db.isOpen()){
MySql::mysqlLastError = tr("Database is not open!");
return false;
}
tbl = new SqlTable(tr("DescriptionOfClasses")); // ñîçäàäèì òàáëèöó ñ èìåíåì DescriptionOfClassess äëÿ õðàíåíèÿ îïèñàíèÿ ïîëåé êëàññîâ
fld = new TableField(tr("FieldName"), tbl); // ýòî âòîðîå ïîëå òàáëèöû áóäåò õðàíèòü èìåíà ïîëåé, ïåðâîå ïîëå ID óæå èìååòñÿ â íîâîé òàáëèöå (îíî ñîçäàåòñÿ ïî óìîë÷àíèþ)
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
fld->setDefaultValue(tr("New field")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó
 
fld = new TableField(tr("FieldAlias"), tbl); // ýòî òðåòüå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû ïîëåé êëàññîâ
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
fld->setDefaultValue(tr("New class alias")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó
 
fld = new TableField(tr("FieldType"), tbl); // ýòî ÷åòâåðòîå ïîëå òàáëèöû áóäåò òèï ïîëÿ êëàññà
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
fld->setDefaultValue(tr("CHAR(30)")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó
 
fld = new TableField(tr("ClassIdentifer"), tbl); // ýòî ïÿòîå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû êëàññîâ
fld->setNotNull(false); // ïîëå íå ìîæåò áûòü ïóñòûì
fld->setType(tr("INT(10)")); // òèï ïîëÿ - öåëîå ÷èñëî
fld->setDefaultValue(tr("NULL")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó
 
 
 
fld = new TableField(tr("Comment"), tbl); // ýòî òðåòüå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû êëàññîâ
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
fld->setDefaultValue(tr("without comments")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó
 
 
if(!MySql::createTable(tbl)){ // åñëè íå óäàåòñÿ ñîçäàòü òàáëèöó
 
// delete fld;
delete tbl; // ÷èñòèì çà ñîáîé
return false; // âûâîäèì îøèáêó
}
 
 
else { // òàáëèöó óñïåøíî ñîçäàíà
// delete fld;
delete tbl; // ÷èñòèì çà ñîáîé
return true; // ñîîáùàåì îá óñïåõå
 
}
 
 
}
/trunk/ClassEditor/classeditor.ui
7,7 → 7,7
<x>0</x>
<y>0</y>
<width>759</width>
<height>400</height>
<height>574</height>
</rect>
</property>
<property name="windowTitle">
89,6 → 89,16
<string>Новый класс</string>
</property>
</widget>
<widget class="QTableView" name="tableView_2">
<property name="geometry">
<rect>
<x>10</x>
<y>341</y>
<width>741</width>
<height>181</height>
</rect>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menuBar">
<property name="geometry">
/trunk/ClassEditor/mysql.h
39,6 → 39,8
 
bool connect(); // ñîåäèíåíèå ñ áàçîé äàííûõ
bool createDataBase(); // ñîçäàåò íåîáõîäèìûå òàáëèöû â þàçå äàííûõ äëÿ õðàíåíèÿ íàçâàíèÿ è îïèñàíèÿ êëàññîâ (Òàáëèöà ListOfClasses è Òàáëèöà DescriptionOfClasses)
bool createListOfClassesTable(); // ñîçäàåò íåîáõîäèìóþ òàáëèöó â áàçå äàííûõ äëÿ õðàíåíèÿ íàçâàíèÿ è êëàññîâ (Òàáëèöà ListOfClasses)
bool createDescriptionOfClassesTable(); // ñîçäàåò íåîáõîäèìóþ òàáëèöó â áàçå äàííûõ äëÿ õðàíåíèÿ îïèñàíèÿ êëàññîâ (Òàáëèöà DescriptionOfClasses)
signals:
 
public slots:
/trunk/ClassEditor/classeditor.cpp
10,6 → 10,7
// settdialog = new SettingsDialog(this);
settdialog.show();
sql.setDatabaseName(tr("an_db"));
 
field = new TableField(tr("Ñîòðóäíèêè"), this);
field->setNotNull(true);
field->setDefaultValue(tr("ñîòðóäíèê"));
127,7 → 128,7
 
 
 
ok = sql.createDataBase();
ok = sql.createListOfClassesTable();
 
if (!ok) {
QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
145,12 → 146,39
}
 
 
model = new QSqlTableModel(this);
 
 
ok = sql.createDescriptionOfClassesTable();
 
if (!ok) {
QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
this, // Ðîäèòåëüñêèé âèäæåò.
QObject::tr("Database Error"), // Çàãîëîâîê.
sql.lasError()); // Òåêñò ñîîáùåíèÿ.
 
}
else {
 
QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
this, // Ðîäèòåëüñêèé âèäæåò.
QObject::tr("Database Create"), // Çàãîëîâîê.
QObject::tr("Áàçà äàííûõ óñïåøíî ñîçäàíà.")); // Òåêñò ñîîáùåíèÿ.
}
 
 
 
 
 
 
 
/////////////////model = new QSqlTableModel(this);
mymodel = new MyModel(this);
modelForDescription = new QSqlTableModel(this);
 
 
model->setTable(tr("ListOfClasses"));
/////////////////model->setTable(tr("ListOfClasses"));
mymodel->setTable(tr("ListOfClasses"));
modelForDescription->setTable(tr("DescriptionOfClasses"));
modelForDescription->setEditStrategy(QSqlTableModel::OnFieldChange);
 
/////model->setEditStrategy(QSqlTableModel::OnManualSubmit);
 
160,30 → 188,38
*/
 
 
model->setSort(0, Qt::AscendingOrder);
//////////////////model->setSort(0, Qt::AscendingOrder);
mymodel->setSort(0, Qt::AscendingOrder);
modelForDescription->setSort(0, Qt::AscendingOrder);
 
 
// model->setFilter(tr("Èäåíòèôèêàòîð_ñèñòåìíîãî_áëîêà = '7' and Èíâåíòàðíûé_íîìåð = 'i09090909'"));
model->select();
////////////////////model->select();
mymodel->select();
modelForDescription->setFilter(tr("ClassIdentifer = 1"));
modelForDescription->select();
 
model->setHeaderData(1, Qt::Horizontal, tr("Èìÿ êëàññà"));
 
/////////////////////////model->setHeaderData(1, Qt::Horizontal, tr("Èìÿ êëàññà"));
mymodel->setHeaderData(1, Qt::Horizontal, tr("Èìÿ êëàññà"));
 
 
 
model->setHeaderData(2, Qt::Horizontal, tr("Ïñåâäîíèì êëàññà"));
////////////////////////model->setHeaderData(2, Qt::Horizontal, tr("Ïñåâäîíèì êëàññà"));
mymodel->setHeaderData(2, Qt::Horizontal, tr("Ïñåâäîíèì êëàññà"));
 
//ui->tableView->setModel(model);
ui->tableView->setModel(mymodel);
//tableForDescription = new QTableView();
ui->tableView_2->setModel(modelForDescription);
ui->tableView_2->setAlternatingRowColors(true);
ui->tableView_2->resizeColumnsToContents();
//tableForDescription->show();
 
 
 
 
ui->tableView->setAlternatingRowColors(true);
ui->tableView->resizeColumnsToContents();
ui->tableView->hideColumn(0);
//ui->tableView->hideColumn(0);
ui->tableView->hideColumn(3);
 
 
273,12 → 309,12
// model->setData(model->index(row, 2) , tr("Ìóõîñðà íñê, Çàæîïèíñêèå âûñåëêè ä 1"));
 
 
mymodel->submitAll();
//mymodel->submitAll();
 
//row = mymodel->rowCount();
 
 
mymodel->select();
//mymodel->select();
 
 
}
299,5 → 335,14
i++;
row = index.row();
column = index.column();
QModelIndex index_tmp;
QString tmp_str, filter_str;
index_tmp = ui->tableView->model()->index(row, 0);
tmp_str = ui->tableView->model()->data(index_tmp).toString();
ui->label->setText(tmp_str);
filter_str = tr("ClassIdentifer = ");
filter_str.append(tmp_str);
modelForDescription->setFilter(filter_str);
i++;
}
 
/trunk/ClassEditor/classeditor.h
28,7 → 28,9
TableField *field;
SqlTable *table;
 
QSqlTableModel *model;
QSqlTableModel* model;
QSqlTableModel* modelForDescription;
QTableView* tableForDescription;
MyModel* mymodel;
 
void addNewClass(); // äîáàâèì íîâûé êëàññ