Увидила свет dulldbtools-0.0.53.
Из новшеств. Сделаны дополнительные конструкторы для qt_dbtableview и qt_dbtreeview. Они позволяют размещать соотвествующее xml-описание, как часть другого xml-файла.
Сделаны дполнителные классы qt_dbtablemenu и qt_dbtreemenu, которые пользволяют соединить соотвественно qt_dbtableview или qt_dbtreeview c qt_dbdialog, для добавление, редактирования, удаления данных черех контекстное меню. Т.е. объекты типа QAction добавляются в qt_dbtableview или qt_dbtreeview и их от туда всегда можно вытащить, при помощи метода actions(), для переопределения стандартных названий в меню. Кроме того qt_dbtablemenu и qt_dbtreemenu сделаны таким образом чтобы не мешать программеру иметь дополнительно свои пункты в меню.
Привожу пример, как создаётся простая таблица при помощи dulldbtools:
// WareHouseTable
WareHouseTable :: WareHouseTable (const QString& title, QWidget* parent, Qt::WindowFlags f)
: QDockWidget(title, parent, f), _db(0), _view(0), _dialog(0), _menu(0) {
setFeatures(QDockWidget::DockWidgetMovable);
_db = new pgdb("pg_warehouse");
if (_db->open()) {
_view = new qt_dbtableview(".\\xml\\images\\warehouse_table.xml", "/table", _db);
_dialog = new qt_dbdialog(".\\xml\\images\\warehouse_table.xml", "/table", _db, this);
_menu = new qt_dbtablemenu(_view, _dialog);
setWidget(_view);
} else
_lprintf(LOG_ERR, "%s\n", _db->last_error());
}
WareHouseTable :: ~WareHouseTable() {
delete _menu;
delete _view;
delete _dialog;
delete _db;
}
Подробнее можно посмотреть в исходниках примера "warehouse". И если есть вопросы задать здесь.