Nuked listview and replaces with treeview

This commit is contained in:
Peter Morgan
2010-10-05 04:35:34 +01:00
parent f86f1ae25e
commit 181ad2560d
5 changed files with 56 additions and 60 deletions

View File

@@ -183,42 +183,45 @@ void mainForm::fileNew()
void mainForm::populateStructure()
{
dblistView->clear();
dblistView->setSorting(-1);
dbTreeWidget->model()->removeRows(0, dbTreeWidget->model()->rowCount());
if (!db.isOpen()){
return;
return;
}
db.updateSchema();
tableMap::Iterator it;
tableMap tmap = db.tbmap;
Q3ListViewItem * lasttbitem = 0;
for ( it = tmap.begin(); it != tmap.end(); ++it ) {
Q3ListViewItem * tbitem = new Q3ListViewItem( dblistView, lasttbitem );
//tbitem->setOpen( TRUE );
tbitem->setText( 0, it.data().getname() );
tbitem->setText( 1, "table" );
tbitem->setText( 3, it.data().getsql() );
fieldMap::Iterator fit;
fieldMap fmap = it.data().fldmap;
Q3ListViewItem * lastflditem = 0;
for ( fit = fmap.begin(); fit != fmap.end(); ++fit ) {
Q3ListViewItem * fielditem = new Q3ListViewItem(tbitem, lastflditem);
fielditem->setText( 0, fit.data().getname() );
fielditem->setText( 1, "field" );
fielditem->setText( 2, fit.data().gettype() );
lastflditem = fielditem;
}
lasttbitem = tbitem;
}
indexMap::Iterator it2;
indexMap imap = db.idxmap;
for ( it2 = imap.begin(); it2 != imap.end(); ++it2 ) {
Q3ListViewItem * item = new Q3ListViewItem( dblistView, lasttbitem );
item->setText( 0, it2.data().getname());
item->setText( 1, "index" );
item->setText( 3, it2.data().getsql() );
lasttbitem = item ;
for ( it = tmap.begin(); it != tmap.end(); ++it ) {
//* Table node
QTreeWidgetItem *tableItem = new QTreeWidgetItem();
tableItem->setText(0, it.data().getname());
tableItem->setText(1, "table");
tableItem->setText(3, it.data().getsql());
tableItem->setIcon(0, QIcon(":/icons/table"));
dbTreeWidget->addTopLevelItem(tableItem);
//* Field Nodes
fieldMap::Iterator fit;
fieldMap fmap = it.data().fldmap;
for ( fit = fmap.begin(); fit != fmap.end(); ++fit ) {
QTreeWidgetItem *fldItem = new QTreeWidgetItem(tableItem);
fldItem->setText( 0, fit.data().getname() );
fldItem->setText( 1, "field" );
fldItem->setText( 2, fit.data().gettype() );
fldItem->setIcon(0, QIcon(":/icons/field"));
}
}
indexMap::Iterator it2;
indexMap imap = db.idxmap;
for ( it2 = imap.begin(); it2 != imap.end(); ++it2 ) {
QTreeWidgetItem *idxItem = new QTreeWidgetItem();
idxItem->setText( 0, it2.data().getname() );
idxItem->setText( 1, "index" );
idxItem->setText( 3, it2.data().getsql() );
idxItem->setIcon(0, QIcon(":/icons/index"));
dbTreeWidget->addTopLevelItem(idxItem);
}
}
void mainForm::populateTable( const QString & tablename)

View File

@@ -14,6 +14,10 @@
#include <Qt3Support/Q3Header>
#include <Qt3Support/Q3ListView>
#include <QtGui/QTreeWidget>
#include <QtGui/QTreeWidgetItem>
#include <QtGui/QHeaderView>
#include <QtGui/QMainWindow>
#include <Qt3Support/Q3MimeSourceFactory>
#include <Qt3Support/Q3Table>
@@ -80,7 +84,9 @@ public:
QTabWidget *mainTab;
QWidget *structure;
QVBoxLayout *vboxLayout1;
Q3ListView *dblistView;
QTreeWidget *dbTreeWidget;
QWidget *browser;
QVBoxLayout *vboxLayout2;
QHBoxLayout *hboxLayout;
@@ -225,7 +231,6 @@ public:
editCreateTableAction->setObjectName(QString::fromUtf8("editCreateTableAction"));
editCreateTableAction->setName("editCreateTableAction");
editCreateTableAction->setEnabled(false);
//const QIcon icon7 = QIcon(qPixmapFromMimeSource("create_table.png"));
editCreateTableAction->setIcon(QIcon(":/icons/table_create"));
//** Delete table
@@ -233,7 +238,6 @@ public:
editDeleteTableAction->setObjectName(QString::fromUtf8("editDeleteTableAction"));
editDeleteTableAction->setName("editDeleteTableAction");
editDeleteTableAction->setEnabled(false);
//const QIcon icon8 = QIcon(qPixmapFromMimeSource("delete_table.png"));
editDeleteTableAction->setIcon(QIcon(":/icons/table_delete"));
//** Modify Table
@@ -241,7 +245,6 @@ public:
editModifyTableAction->setObjectName(QString::fromUtf8("editModifyTableAction"));
editModifyTableAction->setName("editModifyTableAction");
editModifyTableAction->setEnabled(false);
// const QIcon icon9 = QIcon(qPixmapFromMimeSource("modify_table.png"));
editModifyTableAction->setIcon(QIcon(":/icons/table_modify"));
//** Create Index
@@ -249,14 +252,12 @@ public:
editCreateIndexAction->setObjectName(QString::fromUtf8("editCreateIndexAction"));
editCreateIndexAction->setName("editCreateIndexAction");
editCreateIndexAction->setEnabled(false);
//const QIcon icon10 = QIcon(qPixmapFromMimeSource("create_index.png"));
editCreateIndexAction->setIcon(QIcon(":/icons/index_create"));
editDeleteIndexAction = new QAction(mainForm);
editDeleteIndexAction->setObjectName(QString::fromUtf8("editDeleteIndexAction"));
editDeleteIndexAction->setName("editDeleteIndexAction");
editDeleteIndexAction->setEnabled(false);
//const QIcon icon11 = QIcon(qPixmapFromMimeSource("delete_index.png"));
editDeleteIndexAction->setIcon(QIcon(":/icons/index_delete"));
fileImportSQLAction = new QAction(mainForm);
@@ -283,26 +284,19 @@ public:
vboxLayout1->setSpacing(6);
vboxLayout1->setContentsMargins(11, 11, 11, 11);
vboxLayout1->setObjectName(QString::fromUtf8("vboxLayout1"));
dblistView = new Q3ListView(structure);
dblistView->addColumn(QApplication::translate("mainForm", "Name", 0, QApplication::UnicodeUTF8));
dblistView->header()->setClickEnabled(false, dblistView->header()->count() - 1);
dblistView->header()->setResizeEnabled(true, dblistView->header()->count() - 1);
dblistView->addColumn(QApplication::translate("mainForm", "Object", 0, QApplication::UnicodeUTF8));
dblistView->header()->setClickEnabled(false, dblistView->header()->count() - 1);
dblistView->header()->setResizeEnabled(true, dblistView->header()->count() - 1);
dblistView->addColumn(QApplication::translate("mainForm", "Type", 0, QApplication::UnicodeUTF8));
dblistView->header()->setClickEnabled(false, dblistView->header()->count() - 1);
dblistView->header()->setResizeEnabled(true, dblistView->header()->count() - 1);
dblistView->addColumn(QApplication::translate("mainForm", "Schema", 0, QApplication::UnicodeUTF8));
dblistView->header()->setClickEnabled(false, dblistView->header()->count() - 1);
dblistView->header()->setResizeEnabled(true, dblistView->header()->count() - 1);
dblistView->setObjectName(QString::fromUtf8("dblistView"));
dblistView->setResizePolicy(Q3ScrollView::Manual);
dblistView->setSelectionMode(Q3ListView::NoSelection);
dblistView->setRootIsDecorated(true);
dblistView->setResizeMode(Q3ListView::LastColumn);
vboxLayout1->addWidget(dblistView);
//*** Tree Widget Setup
dbTreeWidget = new QTreeWidget();
vboxLayout1->addWidget(dbTreeWidget);
QTreeWidgetItem *headerItem = dbTreeWidget->headerItem();
headerItem->setText(0, QApplication::translate("mainForm", "Name", 0, QApplication::UnicodeUTF8));
headerItem->setText(1, QApplication::translate("mainForm", "Object", 0, QApplication::UnicodeUTF8));
headerItem->setText(2, QApplication::translate("mainForm", "Type", 0, QApplication::UnicodeUTF8));
headerItem->setText(3, QApplication::translate("mainForm", "Schema", 0, QApplication::UnicodeUTF8));
dbTreeWidget->setAlternatingRowColors(true);
dbTreeWidget->setRootIsDecorated(true);
dbTreeWidget->setAnimated(true);
mainTab->addTab(structure, QString());
browser = new QWidget();
@@ -740,12 +734,9 @@ public:
#ifndef QT_NO_TOOLTIP
mainTab->setProperty("toolTip", QVariant(QString()));
#endif // QT_NO_TOOLTIP
dblistView->header()->setLabel(0, QApplication::translate("mainForm", "Name", 0, QApplication::UnicodeUTF8));
dblistView->header()->setLabel(1, QApplication::translate("mainForm", "Object", 0, QApplication::UnicodeUTF8));
dblistView->header()->setLabel(2, QApplication::translate("mainForm", "Type", 0, QApplication::UnicodeUTF8));
dblistView->header()->setLabel(3, QApplication::translate("mainForm", "Schema", 0, QApplication::UnicodeUTF8));
#ifndef QT_NO_WHATSTHIS
dblistView->setProperty("whatsThis", QVariant(QApplication::translate("mainForm", "This area shows the structure of your database, including all tables and indexes.", 0, QApplication::UnicodeUTF8)));
#endif // QT_NO_WHATSTHIS
mainTab->setTabText(mainTab->indexOf(structure), QApplication::translate("mainForm", "Database Structure", 0, QApplication::UnicodeUTF8));
textLabel1->setText(QApplication::translate("mainForm", "Table:", 0, QApplication::UnicodeUTF8));

View File

@@ -16,5 +16,7 @@
<file alias="save">accept.png</file>
<file alias="cancel">bullet_black.png</file>
<file alias="field">page_green.png</file>
<file alias="table">table.png</file>
<file alias="index">tag_blue.png</file>
</qresource>
</RCC>

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 B