Хранилища Subversion OpenInventory

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

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

/trunk/DBViewer/mainwindow.cpp
6,13 → 6,9
ui(new Ui::MainWindow)
{
ui->setupUi(this);
rootItem1 = new QTreeWidgetItem(ui->treeWidget);
rootItem1->setText(0, tr("Óðîâåíü 1"));
rootItem2 = new QTreeWidgetItem(rootItem1);
rootItem2->setText(0, tr("óðîâåíü 2"));
rootItem1->setCheckState(0,Qt::Checked);
rootItem2->setCheckState(0,Qt::Checked);
 
MainWindow::readModel();
 
}
 
MainWindow::~MainWindow()
31,3 → 27,155
break;
}
}
 
 
bool MainWindow::readModel(){
bool result;
QString model_str;
QFile file(":/model.txt");
rootItem1 = new QTreeWidgetItem(ui->treeWidget);
rootItem1->setText(0, tr("Óðîâåíü 1"));
// rootItem2 = new QTreeWidgetItem(rootItem1);
// rootItem2->setText(0, tr("óðîâåíü 2"));
rootItem1->setCheckState(0,Qt::Checked);
// rootItem2->setCheckState(0,Qt::Checked);
 
 
 
result = file.open(QIODevice::ReadOnly);
if (result) {
model_str = QString(file.readAll());
}
 
setupModelData(model_str.split(QString("\n")), rootItem1);
 
 
return result;
 
}
 
 
void MainWindow::setupModelData(const QStringList &lines, QTreeWidgetItem *parent)
{
QList<QTreeWidgetItem*> parents;
QList<int> indentations;
parents << parent;
indentations << 0;
 
int number = 0;
 
while (number < lines.count()) {
int position = 0;
while (position < lines[number].length()) {
if (lines[number].mid(position, 1) != " ")
break;
position++;
}
 
QString lineData = lines[number].mid(position).trimmed();
 
if (!lineData.isEmpty()) {
// Read the column data from the rest of the line.
QStringList columnStrings = lineData.split("\t", QString::SkipEmptyParts);
QList<QVariant> columnData;
for (int column = 0; column < columnStrings.count(); ++column)
columnData << columnStrings[column];
 
if (position > indentations.last()) {
// The last child of the current parent is now the new parent
// unless the current parent has no children.
 
if (parents.last()->childCount() > 0) {
parents << parents.last()->child(parents.last()->childCount()-1);
indentations << position;
}
} else {
while (position < indentations.last() && parents.count() > 0) {
parents.pop_back();
indentations.pop_back();
}
}
 
// Append a new item to the current parent's list of children.
// // // parents.last()->appendChild(new QTreeWidgetItem(columnData, parents.last()));
QTreeWidgetItem* itm_tmp;
itm_tmp = new QTreeWidgetItem( parents.last());
 
itm_tmp->setText(0, QString(columnData.at(0).toString()));
if (columnData.at(1).toString() == "true") {
itm_tmp->setCheckState(0,Qt::Checked);
}
else itm_tmp->setCheckState(0,Qt::Unchecked);
 
 
}
 
number++;
}
}
 
 
/*
void MainWindow::openBase()
{
 
db = QSqlDatabase::addDatabase("QMYSQL");
pdb = &db;
raportFrm.pdb = &db;
 
pdb->setHostName(hostName);
pdb->setDatabaseName(baseName);
pdb->setUserName(userName);
pdb->setPassword(password);
bool ok = pdb->open();
if (!ok) {
QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
this, // Ðîäèòåëüñêèé âèäæåò.
QObject::tr("Database Error"), // Çàãîëîâîê.
pdb->lastError().text()); // Òåêñò ñîîáùåíèÿ.
}
if (ok)
{lineEdit-> insert(tr("Áàçà óñïåøíî îòêðûòà"));
}
else {lineEdit-> insert(tr("Áàçà íåäîñòóïíà. Êîä îøèáêè: "));
lineEdit-> insert(pdb->lastError().text());
}
 
 
 
model = new QSqlTableModel(this);
model->setTable(tableName);
 
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->setSort(0, Qt::AscendingOrder);
 
model->select();
 
 
QSqlField field(tr("age"), QVariant::Int);
field.setValue(QString(tr("123")));
 
bool okey;
int index;
QSqlRecord record;
 
 
tableView->setModel(model);
view.setModel(model);
 
 
tableView->setAlternatingRowColors(true);
view.setAlternatingRowColors(true);
 
tableView->resizeColumnsToContents();
 
 
view.resizeColumnsToContents();
 
tableView->show();
 
 
 
initTreeWidget();
}
*/
/trunk/DBViewer/model.txt
Новый файл
0,0 → 1,7
Hello!!! true
Substring true
SubSubstring false
SubSubstring2 true
SubSubstring3 false
Bay true
 
/trunk/DBViewer/mainwindow.h
6,7 → 6,10
#include <QStandardItem>
#include <QTreeWidgetItem>
#include <QTextCodec>
#include <QSqlDatabase>
 
#include <QtGui>
 
namespace Ui {
class MainWindow;
}
26,6 → 29,9
QStandardItemModel *model;
QStandardItem *item;
QTreeWidgetItem *rootItem1, *rootItem2;
void openBase();
bool readModel();
void setupModelData(const QStringList &lines, QTreeWidgetItem *parent);
 
};
 
/trunk/DBViewer/main.cpp
3,6 → 3,7
 
int main(int argc, char *argv[])
{
Q_INIT_RESOURCE(dbviewer);
 
QTextCodec *codec = QTextCodec::codecForName("cp1251");
QTextCodec *codecUTF = QTextCodec::codecForName("utf8");
/trunk/DBViewer/DBViewer.pro
1,18 → 1,14
#-------------------------------------------------
#
# -------------------------------------------------
# Project created by QtCreator 2010-09-10T12:38:15
#
#-------------------------------------------------
 
QT += network opengl sql xml
 
# -------------------------------------------------
QT += network \
opengl \
sql \
xml
TARGET = DBViewer
TEMPLATE = app
 
 
SOURCES += main.cpp\
mainwindow.cpp
 
HEADERS += mainwindow.h
 
FORMS += mainwindow.ui
SOURCES += main.cpp \
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
RESOURCES += dbviewer.qrc
/trunk/DBViewer/dbviewer.qrc
Новый файл
0,0 → 1,5
<RCC>
<qresource prefix="/">
<file>model.txt</file>
</qresource>
</RCC>