Хранилища Subversion OpenInventory

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

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

/trunk/ClassEditor/classeditor.h
5,7 → 5,9
#include "mysql.h"
 
 
#include <QTreeView>
 
 
namespace Ui {
class ClassEditor;
}
25,6 → 27,8
SettingsDialog settdialog;
TableField *field;
SqlTable *table;
 
QSqlTableModel *model;
};
 
#endif // CLASSEDITOR_H
/trunk/ClassEditor/main.cpp
9,5 → 9,6
QApplication a(argc, argv);
ClassEditor w;
w.show();
a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );
return a.exec();
}
/trunk/ClassEditor/mysql.cpp
86,3 → 86,61
}
 
 
 
/************************************************
** Ôóíêöèÿ ñîçäàåò íåîáõîäèìûå òàáëèöû â áàçå äàííûõ
** äëÿ õðàíåíèÿ íàçâàíèÿ è îïèñàíèÿ êëàññîâ
** (Òàáëèöà ListOfClasses è Òàáëèöà DescriptionOfClasses)
************************************************/
 
 
bool MySql::createDataBase(){
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; // ñîîáùàåì îá óñïåõå
 
}
 
 
}
/trunk/ClassEditor/classeditor.ui
6,7 → 6,7
<rect>
<x>0</x>
<y>0</y>
<width>600</width>
<width>759</width>
<height>400</height>
</rect>
</property>
18,7 → 18,7
<property name="geometry">
<rect>
<x>10</x>
<y>40</y>
<y>10</y>
<width>581</width>
<height>21</height>
</rect>
31,7 → 31,7
<property name="geometry">
<rect>
<x>10</x>
<y>70</y>
<y>30</y>
<width>581</width>
<height>21</height>
</rect>
44,7 → 44,7
<property name="geometry">
<rect>
<x>10</x>
<y>110</y>
<y>50</y>
<width>581</width>
<height>21</height>
</rect>
57,7 → 57,7
<property name="geometry">
<rect>
<x>10</x>
<y>130</y>
<y>70</y>
<width>581</width>
<height>21</height>
</rect>
66,13 → 66,13
<string>TextLabel</string>
</property>
</widget>
<widget class="QTextEdit" name="textEdit">
<widget class="QTableView" name="tableView">
<property name="geometry">
<rect>
<x>10</x>
<y>200</y>
<width>411</width>
<height>94</height>
<y>100</y>
<width>741</width>
<height>192</height>
</rect>
</property>
</widget>
82,8 → 82,8
<rect>
<x>0</x>
<y>0</y>
<width>600</width>
<height>25</height>
<width>759</width>
<height>27</height>
</rect>
</property>
</widget>
/trunk/ClassEditor/mysql.h
38,7 → 38,7
explicit MySql(QObject *parent = 0);
 
bool connect(); // ñîåäèíåíèå ñ áàçîé äàííûõ
 
bool createDataBase(); // ñîçäàåò íåîáõîäèìûå òàáëèöû â þàçå äàííûõ äëÿ õðàíåíèÿ íàçâàíèÿ è îïèñàíèÿ êëàññîâ (Òàáëèöà ListOfClasses è Òàáëèöà DescriptionOfClasses)
signals:
 
public slots:
49,6 → 49,7
QString sqlPassword; // ïåðåìåííàÿ ñîäåðæèò ïàðîëü ê áàçå äàííûõ
QString sqlHostName; // ïåðåìåííàÿ ñîäåðæèò èìÿ õîñòà, íà êîòîðîì íàõîäèòñÿ áàçà äàííûõ
QSqlDatabase db;
QString mysqlLastError;
 
protected:
 
58,9 → 59,10
void setPassword(QString passwrd);
void setHostName(QString hname);
bool createTable(SqlTable* table); // ñîçäàåò â áàçå äàííûõ òàáëèöó
QString mysqlLastError;
 
QString lasError();
 
 
};
 
#endif // MYSQL_H
/trunk/ClassEditor/classeditor.cpp
1,6 → 1,7
#include "classeditor.h"
#include "ui_classeditor.h"
 
 
ClassEditor::ClassEditor(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::ClassEditor)
49,9 → 50,13
ui->label_4->setText(table->sqlString());
////// ui->lineEdit->insert(table->sqlString());
 
 
/**********************************************
 
QTextDocument *document;
// = ui->textEdit->document();
QTextCursor *cursor;
 
document = ui->textEdit->document();
cursor = new QTextCursor(document);
cursor->movePosition(QTextCursor::Start);
71,6 → 76,8
 
cursor->insertText(table->sqlString(), format);
 
****************************************************/
 
QString errorString;
 
sql.setDatabaseName(tr("an_db"));
84,7 → 91,7
QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
this, // Ðîäèòåëüñêèé âèäæåò.
QObject::tr("Database Error"), // Çàãîëîâîê.
sql.mysqlLastError); // Òåêñò ñîîáùåíèÿ.
sql.lasError()); // Òåêñò ñîîáùåíèÿ.
 
}
else {
106,9 → 113,8
QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
this, // Ðîäèòåëüñêèé âèäæåò.
QObject::tr("Database Error"), // Çàãîëîâîê.
sql.mysqlLastError); // Òåêñò ñîîáùåíèÿ.
 
}
sql.lasError()); // Òåêñò ñîîáùåíèÿ.
}
else {
 
QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
115,15 → 121,61
this, // Ðîäèòåëüñêèé âèäæåò.
QObject::tr("Database Connect"), // Çàãîëîâîê.
QObject::tr("Òàáëèöà â áàçå äàííûõ óñïåøíî ñîçäàíà.")); // Òåêñò ñîîáùåíèÿ.
}
 
 
 
 
 
}
ok = sql.createDataBase();
 
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);
model->setTable(tr("ListOfClasses"));
/////model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->setEditStrategy(QSqlTableModel::OnFieldChange);
model->setSort(0, Qt::AscendingOrder);
// model->setFilter(tr("Èäåíòèôèêàòîð_ñèñòåìíîãî_áëîêà = '7' and Èíâåíòàðíûé_íîìåð = 'i09090909'"));
model->select();
ui->tableView->setModel(model);
ui->tableView->setAlternatingRowColors(true);
ui->tableView->resizeColumnsToContents();
ui->tableView->hideColumn(0);
 
int row = model->rowCount();
model->insertRows(row, 1);
model->setData(model->index(row, 0), row+1);
// model->setData(model->index(row, 1), tr("Âàñÿ Ïóïê èí"));
// model->setData(model->index(row, 2) , tr("Ìóõîñðà íñê, Çàæîïèíñêèå âûñåëêè ä 1"));
 
model->submitAll();
}
 
 
 
 
 
 
 
 
 
 
 
ClassEditor::~ClassEditor()
{
delete ui;