/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,8 → 113,7 |
QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå. |
this, // Ðîäèòåëüñêèé âèäæåò. |
QObject::tr("Database Error"), // Çàãîëîâîê. |
sql.mysqlLastError); // Òåêñò ñîîáùåíèÿ. |
sql.lasError()); // Òåêñò ñîîáùåíèÿ. |
} |
else { |
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; |
/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; // ñîîáùàåì îá óñïåõå |
} |
} |