Пример #1
0
void Qtilities::Testing::DebugWidget::refreshModes() {
    ui->tableModes->clear();
    QStringList mode_headers;
    mode_headers << "Mode Name" << "Mode ID" << "Mode Shortcut" << "Context String" << "Help ID";
    ui->tableModes->setHorizontalHeaderLabels(mode_headers);
    ui->tableModes->setSortingEnabled(false);

    QtilitiesMainWindow* mainWindow = qobject_cast<QtilitiesMainWindow*> (QtilitiesApplication::mainWindow());
    if (mainWindow) {
        if (mainWindow->modeManager()) {
            ui->tableModes->setRowCount(mainWindow->modeManager()->modes().count());
            for (int i = 0; i < mainWindow->modeManager()->modes().count(); ++i) {
                IMode* mode = mainWindow->modeManager()->modes().at(i);
                if (!mode)
                    continue;

                // Mode Name
                QTableWidgetItem *newItem = new QTableWidgetItem(mode->modeName());
                ui->tableModes->setItem(i, 0, newItem);
                // Mode ID
                newItem = new QTableWidgetItem(QString::number(mode->modeID()));
                ui->tableModes->setItem(i, 1, newItem);
                // Mode Shortcut
                newItem = new QTableWidgetItem(mainWindow->modeManager()->modeShortcut(mode->modeID()));
                ui->tableModes->setItem(i, 2, newItem);
                // Mode Context String
                newItem = new QTableWidgetItem(mode->contextString());
                ui->tableModes->setItem(i, 3, newItem);
                // Mode Help ID
                newItem = new QTableWidgetItem(mode->contextHelpId());
                ui->tableModes->setItem(i, 4, newItem);

                ui->tableModes->setRowHeight(i,17);
            }
        }
    }

    ui->tableModes->resizeColumnsToContents();
    ui->tableModes->horizontalHeader()->setStretchLastSection(true);
    ui->tableModes->setSortingEnabled(true);
    ui->tableModes->sortByColumn(0,Qt::AscendingOrder);
    ui->tableModes->setShowGrid(false);
    ui->tableModes->setEditTriggers(QAbstractItemView::NoEditTriggers);
}