本文整理汇总了C++中ConfigItem类的典型用法代码示例。如果您正苦于以下问题:C++ ConfigItem类的具体用法?C++ ConfigItem怎么用?C++ ConfigItem使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ConfigItem类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fill
void *ConfigureDialog::processEvent(Event *e)
{
if (e->type() == EventLanguageChanged)
bLanguageChanged = true;
if (e->type() == EventPluginChanged){
pluginInfo *info = (pluginInfo*)(e->param());
if (info->plugin == NULL){
for (QListViewItem *i = lstBox->firstChild(); i; i = i->nextSibling()){
ConfigItem *item = static_cast<ConfigItem*>(i);
if (item->type() != PLUGIN_ITEM)
continue;
if (static_cast<PluginItem*>(item)->info() == info){
item->deleteWidget();
break;
}
}
}
}
if (e->type() == EventClientsChanged){
unsigned id = 0;
if (lstBox->currentItem())
id = static_cast<ConfigItem*>(lstBox->currentItem())->id();
fill(id);
}
if (e->type() == EventClientChanged){
if (m_nUpdates){
if (--m_nUpdates == 0){
setTitle();
btnUpdate->setEnabled(true);
}
}
}
return NULL;
}
示例2: it
/**
* Set a "key = value" to config items
*
* @param key The name of the key to set
* @param value The value to set
*/
int Settings::set(QString key, QString value)
{
QPtrListIterator<ConfigItem> it(m_items);
// Search for existing key
while (it.current() != NULL)
{
if (it.current()->key() == key)
{
// Replace existing
it.current()->setText(value);
return m_items.count();
}
else
{
++it;
}
}
//
// If we come here, it means the key was not found so we must create new
ConfigItem* item = new ConfigItem;
item->setKey(key);
item->setText(value);
m_items.append(item);
return m_items.count();
}
示例3: configItem
void Configuration::itemChanged(QTreeWidgetItem* item, int column) {
if (column == 1) {
ConfigItem* ci = configItem(item);
if (ci) {
ci->setValue(item->text(1));
}
}
}
示例4: AddConfigItem
void BasicConfig::AddBasicConfig(const std::string& name, ConfigItem::ConfigItemType type, const std::string& value)
{
ConfigItem *pConfigItem;
pConfigItem = new xPL::ConfigItem(name, type);
pConfigItem->AddValue(value);
AddConfigItem(pConfigItem);
}
示例5: parseConfigItemFromYamlNode
static ConfigItem parseConfigItemFromYamlNode(const YAML::Node &n) {
ConfigItem item;
if(n.Type() == YAML::NodeType::Scalar) {
std::string s;
n.GetScalar(s);
item.setUnparsedString(s);
}
return item;
}
示例6: find
inline ConfigItem* Configuration::find(const char* key) {
for(Items::iterator i = items_.begin();
i != items_.end();
++i) {
ConfigItem* item = *i;
if(item->equal_p(key)) return item;
}
return 0;
}
示例7: import
inline bool Configuration::import(const char* key, const char* val) {
for(Items::iterator i = items_.begin();
i != items_.end();
++i) {
ConfigItem* item = *i;
if(item->set_maybe(key, val)) return true;
}
return false;
}
示例8: print
inline void Configuration::print(bool desc) {
for(Items::iterator i = items_.begin();
i != items_.end();
++i) {
ConfigItem* item = *i;
std::cout << item->name() << ": ";
item->print_value(std::cout);
std::cout << "\n";
if(desc) {
if(const char* desc = item->description()) {
std::cout << " " << desc << "\n";
}
std::cout << "\n";
}
}
}
示例9: findItem
void
ConfigScope::dump(
StringBuffer & buf,
bool wantExpandedUidNames,
int indentLevel) const
{
int i;
int len;
StringVector nameVec;
ConfigItem * item;
//--------
// First pass. Dump the variables
//--------
listLocalNames(Configuration::CFG_VARIABLES, nameVec);
nameVec.sort();
len = nameVec.length();
for (i = 0; i < len; i++) {
item = findItem(nameVec[i]);
assert(item->type() & Configuration::CFG_VARIABLES);
item->dump(buf, item->name(), wantExpandedUidNames, indentLevel);
}
//--------
// Second pass. Dump the nested scopes
//--------
listLocalNames(Configuration::CFG_SCOPE, nameVec);
nameVec.sort();
len = nameVec.length();
for (i = 0; i < len; i++) {
item = findItem(nameVec[i]);
assert(item->type() == Configuration::CFG_SCOPE);
item->dump(buf, item->name(), wantExpandedUidNames, indentLevel);
}
}
示例10: dumpConfigItemToYaml
static void dumpConfigItemToYaml(YAML::Emitter &emitter,
const ConfigItem &item) {
std::string s = item.toString();
if(!s.empty() && item.children.size()) {
fprintf(stderr, "%s: To dump to yaml file it is not allowed to have a item value and map at the same time.\n",
item.getParentName().c_str());
assert(false);
}
else {
if(s.empty() && item.children.size() == 0) {
emitter << "";
}
}
if(!s.empty())
emitter << s;
if(item.children.size())
dumpConfigMapToYaml(emitter, item.children);
}
示例11: MainInfoItem
void ConfigureDialog::fill(unsigned id)
{
lstBox->clear();
lstBox->setSorting(1);
ConfigItem *parentItem = new MainInfoItem(lstBox, 0);
for (unsigned i = 0; i < getContacts()->nClients(); i++){
Client *client = getContacts()->getClient(i);
CommandDef *cmds = client->configWindows();
if (cmds){
parentItem = NULL;
for (; cmds->text; cmds++){
if (parentItem){
new ClientItem(parentItem, client, cmds);
}else{
parentItem = new ClientItem(lstBox, client, cmds);
parentItem->setOpen(true);
}
}
}
}
unsigned long n;
parentItem = NULL;
list<unsigned> st;
for (n = 0; n < getContacts()->nClients(); n++){
Protocol *protocol = getContacts()->getClient(n)->protocol();
if ((protocol->description()->flags & (PROTOCOL_AR | PROTOCOL_AR_USER)) == 0)
continue;
if (parentItem == NULL){
parentItem = new ConfigItem(lstBox, 0);
parentItem->setText(0, i18n("Autoreply"));
parentItem->setOpen(true);
}
for (const CommandDef *d = protocol->statusList(); d->text; d++){
if (((protocol->description()->flags & PROTOCOL_AR_OFFLINE) == 0) &&
((d->id == STATUS_ONLINE) || (d->id == STATUS_OFFLINE)))
continue;
list<unsigned>::iterator it;
for (it = st.begin(); it != st.end(); ++it)
if ((*it) == d->id)
break;
if (it != st.end())
continue;
st.push_back(d->id);
new ARItem(parentItem, d);
}
}
parentItem = new ConfigItem(lstBox, 0);
parentItem->setText(0, i18n("Plugins"));
parentItem->setPixmap(0, Pict("run", lstBox->colorGroup().base()));
parentItem->setOpen(true);
for ( n = 0;; n++){
Event e(EventPluginGetInfo, (void*)n);
pluginInfo *info = (pluginInfo*)e.process();
if (info == NULL) break;
if (info->info == NULL){
Event e(EventLoadPlugin, (char*)info->name.c_str());
e.process();
}
if ((info->info == NULL) || (info->info->title == NULL)) continue;
QString title = i18n(info->info->title);
new PluginItem(parentItem, title, info, n);
}
QFontMetrics fm(lstBox->font());
unsigned w = 0;
for (QListViewItem *item = lstBox->firstChild(); item; item = item->nextSibling()){
w = QMAX(w, itemWidth(item, fm));
}
lstBox->setFixedWidth(w);
lstBox->setColumnWidth(0, w - 2);
if (id){
for (QListViewItem *item = lstBox->firstChild(); item; item = item->nextSibling()){
if (setCurrentItem(item, id))
return;
}
}
lstBox->setCurrentItem(lstBox->firstChild());
}
示例12: LOG_VERBOSE
bool BasicConfig::MsgAnswer(SchemaObject& msg)
{
if(msg.GetMsgType() != SchemaObject::cmnd)
{
LOG_VERBOSE(m_Log) << "Not a command message.";
LOG_EXIT_OK;
return false;
}
if(msg.GetClass() != "config")
{
LOG_VERBOSE(m_Log) << "Not a config class.";
LOG_EXIT_OK;
return false;
}
if(msg.GetType() == "current")
{
LOG_VERBOSE(m_Log) << "current type...";
if(msg.GetValue("command") != "request")
{
LOG_VERBOSE(m_Log) << "but not command request";
LOG_EXIT_OK;
return false;
}
LOG_VERBOSE(m_Log) << "send config.current message";
SchemaConfigCurrent configCurrent;
configCurrent = ToConfigCurrent();
m_xPLDevice->SendMessage(&configCurrent, msg.GetSource());
LOG_EXIT_OK;
return true;
}
if(msg.GetType() == "list")
{
LOG_VERBOSE(m_Log) << "list type...";
if(msg.GetValue("command") != "request")
{
LOG_VERBOSE(m_Log) << "but not command request";
LOG_EXIT_OK;
return false;
}
LOG_VERBOSE(m_Log) << "send config.list message";
SchemaConfigList configList;
configList = ToConfigList();
m_xPLDevice->SendMessage(&configList, msg.GetSource());
LOG_EXIT_OK;
return true;
}
if(msg.GetType() == "response")
{
LOG_VERBOSE(m_Log) << "response type";
size_t i;
SchemaObject::SchemaItem* pSchemaItem;
ConfigItem* pConfigItem;
SchemaObject::SchemaItem::Iterator itValue;
for(i=0; i<m_ConfigItems.size(); i++)
{
pConfigItem = m_ConfigItems[i];
pSchemaItem = msg.GetItem(pConfigItem->GetName());
if(pSchemaItem==nullptr) continue;
pConfigItem->ClearValues();
for(itValue=pSchemaItem->begin(); itValue!=pSchemaItem->end(); ++itValue)
pConfigItem->AddValue(*itValue);
}
if(m_CallBackConfig != nullptr) m_CallBackConfig->Configure();
m_xPLDevice->SaveConfig();
LOG_EXIT_OK;
return true;
}
LOG_VERBOSE(m_Log) << "Not a current|list|response type.";
LOG_EXIT_OK;
return false;
}