예제 #1
0
파일: Manager.cpp 프로젝트: spolitov/lib
void Manager::setup(const std::string & expr)
{
    std::string::size_type dp = expr.find('.');
    if(dp == std::string::npos)
        BOOST_THROW_EXCEPTION(ManagerException() << mstd::error_message("Invalid setup syntax - '.' expected"));
    std::string::size_type ep = expr.find('=', dp);
    if(ep == std::string::npos)
        BOOST_THROW_EXCEPTION(ManagerException() << mstd::error_message("Invalid setup syntax - '=' expected"));
    std::string name = expr.substr(0, dp);
    boost::trim(name);
    std::string prop = expr.substr(dp + 1, ep - dp - 1);
    boost::trim(prop);
    std::string value = expr.substr(ep + 1);
    boost::trim(value);
    
    boost::mutex::scoped_lock lock(mutex_);
    if(name == "device")
        setupDevice(prop, value, lock);
    else if(name == "manager")
    {
        if(prop == "realtime")
            realtime_ = value == "1" || value == "true";
    } else if(prop == "level")
        setupLevel(name, value, lock);
    else if(prop == "group")
        setupGroup(name, value, lock);
    else
        BOOST_THROW_EXCEPTION(ManagerException() << mstd::error_message("Unknown command: " + expr));
}
예제 #2
0
void KScoreDialog::KScoreDialogPrivate::setupDialog()
{
    nrCols = 1;
    for(int field = 1; field < fields; field = field * 2)
    {
        if ( (fields & field) && !(hiddenFields & field ) )
            col[field] = nrCols++;
    }

    tabWidget->clear();
    QList<QByteArray> keysToConfigure = scores.keys();
    foreach(const QByteArray &groupName, configGroupWeights)
    {
        int index = keysToConfigure.indexOf(groupName);
        if (index != -1)
        {
            setupGroup(groupName);
            keysToConfigure.removeAt(index);
        }
    }
예제 #3
0
 foreach(const QByteArray &groupName, keysToConfigure)
 {
     setupGroup(groupName);
 }