Beispiel #1
0
QStandardItemModel* Importer::ImportData()
{
    QString current_path = QDir::currentPath() +  "//" + datafilename();
    QFile file(QDir::toNativeSeparators(current_path));
    if(!file.open(QIODevice::ReadOnly)) {
        QMessageBox::information(0, tr("Ошибка"), file.errorString());
        qDebug() << "Error in open file: " + file.errorString();
    }

    QTextStream in(&file);
    in.setCodec(QTextCodec::codecForName("IBM 866"));

    QString line = in.readLine();
    QStringList fields = line.split(separator());

    QStandardItemModel *model = new QStandardItemModel(0, fields.count()+1);
    model->setHorizontalHeaderLabels(fields);

    // Заменяем заголовки столбцов
    for (int i = 0; i < model->columnCount() - 1; i++)
    {
        QStandardItem *item = model->horizontalHeaderItem(i);
        QString item_text = item->text();

        if (item_text.compare(tr("ФИОТБН")) == 0) {
            item->setText(tr("Отправитель"));
        } else if (item_text.compare(tr("Кому")) == 0) {
            item->setText(tr("Получатель"));
        }
    }
    int last_col_idx = model->columnCount() - 1;
    model->setHorizontalHeaderItem(last_col_idx, new QStandardItem(tr("Состояние")));

    model->horizontalHeaderItem(last_col_idx)->setText(tr("Состояние"));

//    model->setHorizontalHeaderItem(0, new QStandardItem(tr("ТБН")));
//    model->setHorizontalHeaderItem(1, new QStandardItem(tr("Отправитель")));
//    model->setHorizontalHeaderItem(4, new QStandardItem(tr("Получатель")));
//    model->setHorizontalHeaderItem(12, new QStandardItem(tr("Состояние")));

    while(!in.atEnd())
    {
        QString line = in.readLine();
        QStringList fields = line.split(separator());

        QStringListIterator it(fields);
        QList<QStandardItem *> data;
        while (it.hasNext())
        {
            data << new QStandardItem(it.next());
        }

        model->appendRow(data);
    }

    file.close();

    return model;
}
Beispiel #2
0
void MainWindow::loadScore()
{
    //QMessageBox::information(0, "wer", "wer");
    ui->tableView->reset();

    QStandardItemModel *model = new QStandardItemModel();

    QList< QList<QStandardItem *> > list = user->scoreDetail();

    for (int i = 0; i < list.count(); i++)
    {
        model->insertRow(i, list.at(i));
        qDebug() << list.at(i).at(1)->text();
    }

    model->setHeaderData(0, Qt::Horizontal, QObject::tr("Course Name"));
    model->setHeaderData(1, Qt::Horizontal, QObject::tr("Middleterm Score"));
    model->setHeaderData(2, Qt::Horizontal, QObject::tr("Final Score"));

    for (int i = 0; i < model->rowCount(); i++)
        for (int j = 0; j < model->columnCount(); j++)
            model->item(i,j)->setEditable(false);

    ui->tableView->setModel(model);

    ui->tableView->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch);
    ui->tableView->resizeColumnToContents(1);
    ui->tableView->resizeColumnToContents(2);
//    ui->tableView->setColumnWidth(2, 100);
//    ui->tableView->setColumnWidth(3, 100);
    ui->tableView->verticalHeader()->hide();
    ui->tableView->setSelectionMode(QAbstractItemView::NoSelection);

}
Beispiel #3
0
void MainWindow::openDatas(QString filename)
{
    QStandardItemModel *model = new QStandardItemModel;

    QFile fichier(filename);
    QDomDocument *doc = new QDomDocument("docXml");
    QDomElement elem;
    QList<int> *currentChild = new QList<int>();
    QList<int> *nodesLength = new QList<int>();
    int height = 0;

    //open the selected file and get the xml document in doc
    fichier.open(QIODevice::ReadWrite | QIODevice::Text);

    doc->setContent(&fichier);
    currentDocument = doc;
    fichier.close();

    //get the first element of the document
    elem = doc->documentElement();
    root = elem.tagName();
    //get the height for the document and prepare the parameters to build the tree
    heightXML(elem, &height);
    for(int i = 0; i < height-1; i++)
    {
        currentChild->append(0);
        nodesLength->append(0);
    }
    QStandardItem *item = new QStandardItem(elem.tagName());
    item->setFlags(item->flags() & ~Qt::ItemIsEditable);
    //build the model and use it to be displayed using a QTreeView
    buildTree(elem, model, item, nodesLength, 0, currentChild, -1);

    //Modify the columns' headers
    setColumnLabels(model);

    this->model = model;

    this->modelIsSet = true;

    //set the to the tree
    treeView->setModel(model);
    treeView->expandAll();
    for(int i = 0; i < model->columnCount(); i++)
    {
        treeView->resizeColumnToContents(i);
    }

    //Store the filename for the menu "Recent files"
    setSettings(filename);
    updateMenuRecentFiles();
    QObject::connect(treeView, SIGNAL(clicked(QModelIndex)), this, SLOT(showDetails(QModelIndex)));
}
Beispiel #4
0
void cHelpDlg::populateTableView(const QStringList &shortcuts, const QStringList &actions)
{
    QStandardItemModel* model = new QStandardItemModel(shortcuts.size(), 2, this);

    model->setHorizontalHeaderItem(0, new QStandardItem(""));
    model->setHorizontalHeaderItem(1, new QStandardItem(tr("Action")));

    _ui->tableView->setModel(model);

    setStyleSheet("QTableView::item{padding: 2px;}");

    for (int aK=0; aK< shortcuts.size(); ++aK)
    {
        QStandardItem *it0 = new QStandardItem(shortcuts[aK]);
        QStandardItem *it1 = new QStandardItem(actions[aK]);

        if (actions[aK].isEmpty())
        {
            QFont theFont = it0->font();
            theFont.setBold(true);
            it0->setFont(theFont);
        }

        it0->setFlags(it0->flags() & ~Qt::ItemIsEditable);
        it1->setFlags(it1->flags() & ~Qt::ItemIsEditable);

        model->setItem(aK, 0, it0);
        model->setItem(aK, 1, it1);
    }

    _ui->tableView->horizontalHeader()->setStretchLastSection(true);

    #if ELISE_QT_VERSION >=5
        _ui->tableView->resizeColumnsToContents();
        _ui->tableView->resizeRowsToContents();
    #endif

    int height = 0;
    for(int row = 0; row < model->rowCount(); row++)
        height += _ui->tableView->rowHeight(row);

    #if ELISE_QT_VERSION >=5
        int width = 0;
        for(int column = 0; column < model->columnCount(); column++)
            width += _ui->tableView->columnWidth(column);

        _ui->tableView->resize(width, height);
    #else
        _ui->tableView->resize(400, height);
    #endif

    resize(_ui->tableView->width()+50,_ui->tableView->height() + _ui->okButton->height()+50);
}
Beispiel #5
0
void ModelsManager::itemChanged(QStandardItem* i)
{
    QStandardItemModel* model = static_cast<QStandardItemModel*>(sender());

    int row = i->row();

    Register r;
    r.name = model->item(row, 0)->text();
    for (int i = 1; i < model->columnCount(); i++) {
        r.value += model->item(row, i)->text() + ' ';
    }
    r.value = r.value.trimmed();
    emit registerChanged(r);
}
void Ui_pluginManagerWindow::clearDefaultRow(int defaultRow)
{
	QStandardItemModel *model = (QStandardItemModel*)ui.pluginTableView->model();
	QStandardItem *item = model->item(defaultRow, 0);

	item->setData(false, PLUGIN_IS_DEFAULT);

	for (int column = 0; column < model->columnCount(); column++)
	{
		QStandardItem *item = model->item(defaultRow, column);
		QFont font = item->font();

		font.setBold(false);
		item->setFont(font);
	}
}
void Ut_MListView::initTestCase()
{
    static char *app_name[1] = { (char *) "./ut_mlistview" };
    static int argc = 1;
    app = new MApplication(argc, app_name);

    MPannableViewport *viewport = new MPannableViewport();

    viewport->resize(50, 100);

    MList *controller = new MList(viewport);
    m_subject = new MListView(controller);

    MListModel *model = new MListModel();
    model->setShowGroups(true);
    QStandardItemModel *itemModel = new QStandardItemModel(4, 2);

    for (int row = 0; row < itemModel->rowCount(); ++row) {
        for (int column = 0; column < itemModel->columnCount(); ++column) {
            QStandardItem *item = new QStandardItem(
            		QString("row %0, column %1").arg(row).arg(column));
            itemModel->setItem(row, column, item);
        }
    }

    QItemSelectionModel *selectionModel = new QItemSelectionModel(itemModel);
    controller->setSelectionModel(selectionModel);
    controller->setItemModel(itemModel);
    model->setSelectionModel(selectionModel);

    m_dummyWidget = new MDummyTestWidget();

    connect(m_dummyWidget, SIGNAL(itemClickSignal()),
    		m_subject, SLOT(itemClick()));

    model->setItemModel(itemModel);
    m_subject->setModel(model);
    m_subject->init();
}
Beispiel #8
0
void MainWindow::loadElective()
{
    //QMessageBox::information(0, "User", "Elective");
    ui->tableView->reset();

    QStandardItemModel *model = new QStandardItemModel();
    //MyStandardItemModel *model = new MyStandardItemModel();
    MyItemDelegate *delegate = new MyItemDelegate();

    connect(model, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(saveElectiveChange(QStandardItem*)));

    QList< QList<QStandardItem *> > list = user->electiveDetail();

    for (int i = 0; i < list.count(); i++)
    {
        model->insertRow(i, list.at(i));
        qDebug() << list.at(i).at(1)->text();
    }

    model->setHeaderData(0, Qt::Horizontal, QObject::tr("Status"));
    model->setHeaderData(1, Qt::Horizontal, QObject::tr("Course ID"));
    model->setHeaderData(2, Qt::Horizontal, QObject::tr("Course Name"));
    model->setHeaderData(3, Qt::Horizontal, QObject::tr("Teacher ID"));
    model->setHeaderData(4, Qt::Horizontal, QObject::tr("Teacher Name"));
    model->setHeaderData(5, Qt::Horizontal, QObject::tr("Course Addr."));

    ui->tableView->setModel(model);
    //ui->tableView->setItemDelegate(delegate);

    for (int i = 0; i < model->columnCount(); i++)
        ui->tableView->horizontalHeader()->setResizeMode(i, QHeaderView::Stretch);
    //ui->tableView->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch);
    ui->tableView->resizeColumnToContents(1);
    ui->tableView->resizeColumnToContents(2);
//    ui->tableView->setColumnWidth(2, 100);
//    ui->tableView->setColumnWidth(3, 100);
    ui->tableView->verticalHeader()->hide();
    ui->tableView->setSelectionMode(QAbstractItemView::NoSelection);
}
void ObservingList::slotNewSelection() {
    bool found = false;
    singleSelection = false;
    noSelection = false;
    showScope = false;
    ui->ImagePreview->clearPreview();
    ui->ImagePreview->setCursor( Qt::ArrowCursor );
    QModelIndexList selectedItems;
    QString newName;
    SkyObject *o;
    ui->SaveImage->setEnabled( false );
    ui->DeleteImage->setEnabled( false );

    QStandardItemModel *currentModel;
    QList<SkyObject*> currList;

    if ( sessionView ) {
        selectedItems = m_SortModelSession->mapSelectionToSource( ui->SessionView->selectionModel()->selection() ).indexes();
        currentModel = m_Session;
        currList = sessionList();
    } else {
        selectedItems = m_SortModel->mapSelectionToSource( ui->TableView->selectionModel()->selection() ).indexes();
        currentModel = m_Model;
        currList = obsList();
    }

    if ( selectedItems.size() == currentModel->columnCount() ) {
        newName = selectedItems[0].data().toString();
        singleSelection = true;
        //Find the selected object in the SessionList,
        //then break the loop.  Now SessionList.current()
        //points to the new selected object (until now it was the previous object)
        foreach ( o, currList ) {
            if ( o->translatedName() == newName ) {
                found = true;
                break;
            }
        }
    }