Хранилища Subversion OpenInventory

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

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

/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: