/trunk/ClassEditor/delegateforclassestable.cpp |
---|
7,7 → 7,8 |
items.append(tr("CHAR(10)")); |
items.append(tr("CHAR(30)")); |
items.append(tr("INT(10)")); |
items.append(tr("DATA")); |
items.append(tr("DATE")); |
items.append(tr("TYFTA")); |
} |
QWidget *DelegateForClassesTable::createEditor(QWidget *parent, |
const QStyleOptionViewItem &/* option */, |
/trunk/ClassEditor/classeditor.cpp |
---|
296,7 → 296,7 |
connect(ui->action_removeAllClasses, SIGNAL(triggered()), this, SLOT(on_action_removeAllClasses())); // óäàëèòü âñå êëàññû |
connect(ui->action_newClass, SIGNAL(triggered()), this, SLOT(on_pushButton_clicked())); // äîáàâèòü íîâûé êëàññ |
connect(ui->action_newField, SIGNAL(triggered()), this, SLOT(on_pushButton_3_clicked())); // äîáàâèòü íîâîå ïîëå |
connect(ClassEditor::modelForDescription, SIGNAL(field_name_changed()), this, SLOT(on_field_name_changed())); // äîáàâèòü íîâîå ïîëå |
connect(ClassEditor::modelForDescription, SIGNAL(field_changed()), this, SLOT(on_field_changed())); // äîáàâèòü íîâîå ïîëå |
} |
739,7 → 739,7 |
} |
void ClassEditor::on_field_name_changed(){ // ïîìåíÿëîñü èìÿ ïîëÿ |
void ClassEditor::on_field_changed(){ // ïîìåíÿëîñü èìÿ ïîëÿ |
ClassEditor::refreshInctance(); |
} |
/trunk/ClassEditor/classeditor.h |
---|
67,7 → 67,7 |
void on_modelForDescription_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ); |
void on_action_removeAllClasses(); // óäàëèòü âñå êëàññû |
void removeClass(int class_row); // ôóíêöèÿ óäàëÿåò êëàññ, íàõîäÿùèéñÿ â ñòðîêå ñ íîìåðîì class_row |
void on_field_name_changed(); // ïîìåíÿëîñü èìÿ ïîëÿ |
void on_field_changed(); // ïîìåíÿëîñü èìÿ ïîëÿ |
}; |
#endif // CLASSEDITOR_H |
/trunk/ClassEditor/modelfordescriptiontable.cpp |
---|
42,8 → 42,7 |
str_tmp.append(tr("_instance")); |
} |
*/ |
lResult = QSqlTableModel::setData(index, value, role); |
if (lResult) { |
QModelIndex newindex; |
QSqlRecord rec = record(index.row()); |
106,12 → 105,38 |
} |
*/ |
if (index.column()==3){ // åñëè ïîìåíÿëñÿ òèï äàííûõ |
///ALTER TABLE `an_db`.`1_Inctance` MODIFY COLUMN `int` INTEGER; |
QSqlQuery qu; |
QString old_type, new_type, field_name, query_str; |
old_type = old_value.toString(); // îïðåäåëèì òåêóùèé (êîòîðîå íóæíî ïîìåíÿòü) òèï ïîëÿ |
new_type = value.toString(); // íîâûé òèï ïîëÿ |
field_name = data(ModelForDescriptionTable::index(index.row(), 1)).toString(); // èìÿ ïîëÿ õðàíèòüñÿ â 1 ñòîëáöå, ñ÷èòûâàåì åãî çíà÷åíèå |
query_str = tr("ALTER TABLE "); |
query_str.append(ModelForDescriptionTable::Inctance); |
query_str.append(tr(" MODIFY COLUMN `")); |
query_str.append(field_name); |
query_str.append(tr("` ")); |
query_str.append(new_type); |
qu.prepare(query_str); |
bool ok; |
ok = qu.exec(); |
if (!ok) return false; |
} |
lResult = QSqlTableModel::setData(index, value, role); |
if (lResult) { |
lResult = updateRowInTable(index.row(), rec); |
emit field_name_changed(); |
emit field_changed(); |
/// QSqlTableModel::setData(newindex, QVariant(str_tmp), Qt::EditRole); |
} |
return lResult; |
} |
/trunk/ClassEditor/modelfordescriptiontable.h |
---|
18,7 → 18,7 |
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; |
void setInctance(QString currInctatce); // ïåðåäàåì èìÿ òåêóùåé òàáëèöû-õðàíèëèùà |
signals: |
void field_name_changed(); |
void field_changed(); |
public slots: |