Exemplo n.º 1
0
QVariant PluginModel::data(const QModelIndex &index, int role) const
{
    if (index.row() < 0 || index.row() >= m_plugins.count()) {
        return QVariant();
    }

    PluginInterface *plugin = m_plugins[index.row()];

    switch (role) {
    case TextRole:
        return plugin->text();
    case EnabledRole:
        return plugin->enabled();
    case HelpTextRole:
        return plugin->helpText();
    case ObjectRole:
        return QVariant::fromValue<QObject*>(plugin->controller());
    case ConfigItemRole:
        return QVariant::fromValue<QObject*>(plugin->configureItem());
    }

    return QVariant();
}