本文整理汇总了C++中UserCommand类的典型用法代码示例。如果您正苦于以下问题:C++ UserCommand类的具体用法?C++ UserCommand怎么用?C++ UserCommand使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了UserCommand类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addEntry
void UCPage::addEntry(const UserCommand& uc, int pos) {
TStringList lst;
if(uc.getType() == UserCommand::TYPE_SEPARATOR)
lst.push_back(TSTRING(SEPARATOR));
else
lst.push_back(Text::toT(uc.getName()));
lst.push_back(Text::toT(uc.getCommand()));
lst.push_back(Text::toT(uc.getHub()));
ctrlCommands.insert(pos, lst, 0, (LPARAM)uc.getId());
}
示例2: switch
bool
UserCommandExecuter::execute (const UserCommand& command)
{
switch (command.get_key ())
{
case UserCommand::NEW_GAME:
this->board->reset ();
break;
case UserCommand::UNDO_MOVE:
this->board->undo_move ();
break;
case UserCommand::REMOVE:
this->board->undo_move ();
this->board->undo_move ();
break;
case UserCommand::SEE_MOVES:
show_possible_moves ();
break;
case UserCommand::USER_MOVE:
make_user_move (command.get_notation ());
break;
case UserCommand::FEATURES:
cout << "feature setboard=1 usermove=1 time=0 draw=0 sigint=0 "
<< "sigterm=0 variants=\"normal\" analyze=0 colors=0 "
<< "myname=\"MaE\" done=1" << std::endl;
break;
case UserCommand::XBOARD_MODE:
cout << std::endl;
break;
case UserCommand::THINK:
think ();
break;
case UserCommand::TRAIN:
train_by_genetic_algorithm (
/* population_size: */ 6,
/* generations_count: */ 15,
/* mutation_probability: */ 0.004);
break;
default:
break;
}
return true;
}
示例3: userCommand
void ClientManager::userCommand(const HintedUser& user, const UserCommand& uc, ParamMap& params, bool compatibility) {
Lock l(cs);
OnlineUser* ou = findOnlineUserHint(user.user->getCID(), user.hint.empty() ? uc.getHub() : user.hint);
if(!ou)
return;
ou->getIdentity().getParams(params, "user", compatibility);
ou->getClient().getHubIdentity().getParams(params, "hub", false);
ou->getClient().getMyIdentity().getParams(params, "my", compatibility);
ou->getClient().sendUserCmd(uc, params);
}
示例4: GET_TICK
void CommandQueue::addCommand(const OnlineUser& ou, int actionId) {
FavoriteHubEntry* hub = FavoriteManager::getInstance()->getFavoriteHubEntry(clientPtr->getHubUrl());
if(hub) {
Action* a = RawManager::getInstance()->findAction(actionId);
if(a != NULL) {
if(FavoriteManager::getInstance()->getEnabledAction(hub, actionId)) {
uint64_t delayTime = GET_TICK();
for(auto i = a->raw.begin(); i != a->raw.end(); ++i) {
if(i->getEnabled() && !(i->getRaw().empty())) {
if(FavoriteManager::getInstance()->getEnabledRaw(hub, actionId, i->getId())) {
ParamMap params;
const UserCommand uc = UserCommand(0, 0, 0, 0, "", i->getRaw(),"", "");
CommandItem item;
item.name = i->getName();
item.uc = uc;
item.ou = &ou;
if(SETTING(USE_SEND_DELAYED_RAW)) {
delayTime += (i->getTime() * 1000) + 1;
addCommandDelayed(delayTime, item);
} else {
execCommand(item);
}
if(SETTING(LOG_RAW_CMD)) {
ou.getIdentity().getParams(params, "user", true);
clientPtr->getHubIdentity().getParams(params, "hub", false);
clientPtr->getMyIdentity().getParams(params, "my", true);
string formattedCmd = Util::formatParams(uc.getCommand(), params);
params["rawCommand"] = formattedCmd;
LOG(LogManager::RAW, params);
}
}
}
}
}
}
}
}
示例5: QMenu
QMenu *WulforUtil::buildUserCmdMenu(const StringList& hub_list, int ctx, QWidget* parent) {
UserCommand::List userCommands = FavoriteManager::getInstance()->getUserCommands(ctx, hub_list);
if (userCommands.empty())
return nullptr;
QMenu *ucMenu = new QMenu(tr("User commands"), parent);
QMenu *menuPtr = ucMenu;
for (size_t n = 0; n < userCommands.size(); ++n) {
UserCommand *uc = &userCommands[n];
if (uc->getType() == UserCommand::TYPE_SEPARATOR) {
// Avoid double separators...
if (!menuPtr->actions().isEmpty() &&
!menuPtr->actions().last()->isSeparator())
{
menuPtr->addSeparator();
}
} else if (uc->isRaw() || uc->isChat()) {
menuPtr = ucMenu;
auto _begin = uc->getDisplayName().begin();
auto _end = uc->getDisplayName().end();
for(; _begin != _end; ++_begin) {
const QString name = _q(*_begin);
if (_begin + 1 == _end) {
menuPtr->addAction(name)->setData(uc->getId());
} else {
bool found = false;
QListIterator<QAction*> iter(menuPtr->actions());
while(iter.hasNext()) {
QAction *item = iter.next();
if (item->menu() && item->text() == name) {
found = true;
menuPtr = item->menu();
break;
}
}
if (!found)
menuPtr = menuPtr->addMenu(name);
}
}
}
}
return ucMenu;
}
示例6: getUserCommandParams
bool WulforUtil::getUserCommandParams(const UserCommand& uc, StringMap& params) {
StringList names;
string::size_type i = 0, j = 0;
const string cmd_str = uc.getCommand();
while((i = cmd_str.find("%[line:", i)) != string::npos) {
if ((j = cmd_str.find("]", (i += 7))) == string::npos)
break;
names.push_back(cmd_str.substr(i, j - i));
i = j + 1;
}
if (names.empty())
return true;
QDialog dlg(MainWindow::getInstance());
dlg.setWindowTitle(_q(uc.getDisplayName().back()));
QVBoxLayout *vlayout = new QVBoxLayout(&dlg);
std::vector<std::function<void ()> > valueFs;
for (const auto &name : names) {
QString caption = _q(name);
if (uc.adc()) {
caption.replace("\\\\", "\\");
caption.replace("\\s", " ");
}
int combo_sel = -1;
QString combo_caption = caption;
combo_caption.replace("//", "\t");
QStringList combo_values = combo_caption.split("/");
if (combo_values.size() > 2) {
QString tmp = combo_values.takeFirst();
bool isNumber = false;
combo_sel = combo_values.takeFirst().toInt(&isNumber);
if (!isNumber || combo_sel >= combo_values.size())
combo_sel = -1;
else
caption = tmp;
}
QGroupBox *box = new QGroupBox(caption, &dlg);
QHBoxLayout *hlayout = new QHBoxLayout(box);
if (combo_sel >= 0) {
for (auto &val : combo_values)
val.replace("\t", "/");
QComboBox *combo = new QComboBox(box);
hlayout->addWidget(combo);
combo->addItems(combo_values);
combo->setEditable(true);
combo->setCurrentIndex(combo_sel);
combo->lineEdit()->setReadOnly(true);
valueFs.push_back([combo, name, ¶ms] {
params["line:" + name] = combo->currentText().toStdString();
});
} else {
QLineEdit *line = new QLineEdit(box);
hlayout->addWidget(line);
valueFs.push_back([line, name, ¶ms] {
params["line:" + name] = line->text().toStdString();
});
}
vlayout->addWidget(box);
}
QDialogButtonBox *buttonBox = new QDialogButtonBox(&dlg);
buttonBox->setOrientation(Qt::Horizontal);
buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
vlayout->addWidget(buttonBox);
dlg.setFixedHeight(vlayout->sizeHint().height());
connect(buttonBox, SIGNAL(accepted()), &dlg, SLOT(accept()));
connect(buttonBox, SIGNAL(rejected()), &dlg, SLOT(reject()));
if (dlg.exec() != QDialog::Accepted)
return false;
for (const auto &fs : valueFs)
fs();
return true;
}
示例7: ucd
void UCModel::changeUC(const QModelIndex &i){
if (!i.isValid())
return;
UCItem *item = reinterpret_cast<UCItem*>(i.internalPointer());
if (!rootItem->childItems.contains(item))
return;
UCDialog ucd(MainWindow::getInstance());
initDlgFromItem(ucd, *item);
if (ucd.exec() == QDialog::Accepted){
UserCommand uc;
FavoriteManager::getInstance()->getUserCommand(item->id, uc);
uc.setName(_tq(ucd.getName()));
uc.setCommand(_tq(ucd.getCmd()));
uc.setHub(_tq(ucd.getHub()));
uc.setType(ucd.getType());
uc.setCtx(ucd.getCtx());
uc.setTo(_tq(ucd.lineEdit_TO->text()));
FavoriteManager::getInstance()->updateUserCommand(uc);
item->name = ((uc.getType() == dcpp::UserCommand::TYPE_SEPARATOR)? tr("Separator") : _q(uc.getName()));
item->comm = _q(uc.getCommand());
item->hub = _q(uc.getHub());
item->id = uc.getId();
item->type = uc.getType();
item->ctx = uc.getCtx();
emit layoutChanged();
}
}
示例8: switch
BOOL CALLBACK ShortcutMapper::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG :
{
initBabyGrid();
initTabs();
fillOutBabyGrid();
_babygrid.display();
goToCenter();
return TRUE;
}
case WM_NOTIFY: {
NMHDR nmh = *((NMHDR*)lParam);
if (nmh.hwndFrom == _hTabCtrl) {
if (nmh.code == TCN_SELCHANGE) {
int index = TabCtrl_GetCurSel(_hTabCtrl);
switch (index) {
case 0:
_currentState = STATE_MENU;
break;
case 1:
_currentState = STATE_MACRO;
break;
case 2:
_currentState = STATE_USER;
break;
case 3:
_currentState = STATE_PLUGIN;
break;
case 4:
_currentState = STATE_SCINTILLA;
break;
}
fillOutBabyGrid();
}
}
break; }
case WM_COMMAND :
{
switch (LOWORD(wParam))
{
case IDCANCEL :
{
::EndDialog(_hSelf, -1);
return TRUE;
}
case IDOK :
{
::EndDialog(_hSelf, 0);
return TRUE;
}
case IDM_BABYGRID_MODIFY :
{
NppParameters *nppParam = NppParameters::getInstance();
int row = _babygrid.getSelectedRow();
switch(_currentState) {
case STATE_MENU: {
//Get CommandShortcut corresponding to row
vector<CommandShortcut> & shortcuts = nppParam->getUserShortcuts();
CommandShortcut csc = shortcuts[row - 1], prevcsc = shortcuts[row - 1];
csc.init(_hInst, _hSelf);
if (csc.doDialog() != -1 && prevcsc != csc) { //shortcut was altered
nppParam->addUserModifiedIndex(row-1);
shortcuts[row - 1] = csc;
_babygrid.setText(row, 2, csc.toString().c_str());
//Notify current Accelerator class to update everything
nppParam->getAccelerator()->updateShortcuts();
}
break; }
case STATE_MACRO: {
//Get MacroShortcut corresponding to row
vector<MacroShortcut> & shortcuts = nppParam->getMacroList();
MacroShortcut msc = shortcuts[row - 1], prevmsc = shortcuts[row - 1];
msc.init(_hInst, _hSelf);
if (msc.doDialog() != -1 && prevmsc != msc) { //shortcut was altered
shortcuts[row - 1] = msc;
_babygrid.setText(row, 1, msc.getName());
_babygrid.setText(row, 2, msc.toString().c_str());
//Notify current Accelerator class to update everything
nppParam->getAccelerator()->updateShortcuts();
}
break; }
case STATE_USER: {
//Get UserCommand corresponding to row
vector<UserCommand> & shortcuts = nppParam->getUserCommandList();
UserCommand ucmd = shortcuts[row - 1], prevucmd = shortcuts[row - 1];
ucmd.init(_hInst, _hSelf);
prevucmd = ucmd;
if (ucmd.doDialog() != -1 && prevucmd != ucmd) { //shortcut was altered
shortcuts[row - 1] = ucmd;
_babygrid.setText(row, 1, ucmd.getName());
//.........这里部分代码省略.........
示例9: switch
//.........这里部分代码省略.........
nppParam->setShortcutDirty();
}
break;
}
case STATE_MACRO:
{
//Get MacroShortcut corresponding to row
vector<MacroShortcut> & shortcuts = nppParam->getMacroList();
MacroShortcut msc = shortcuts[row - 1], prevmsc = shortcuts[row - 1];
msc.init(_hInst, _hSelf);
if (msc.doDialog() != -1 && prevmsc != msc)
{
//shortcut was altered
shortcuts[row - 1] = msc;
//save the current view
_lastHomeRow[_currentState] = _babygrid.getHomeRow();
_lastCursorRow[_currentState] = _babygrid.getSelectedRow();
fillOutBabyGrid();
isModified = true;
//Notify current Accelerator class to update everything
nppParam->getAccelerator()->updateShortcuts();
nppParam->setShortcutDirty();
}
break;
}
case STATE_USER:
{
//Get UserCommand corresponding to row
vector<UserCommand> & shortcuts = nppParam->getUserCommandList();
UserCommand ucmd = shortcuts[row - 1];
ucmd.init(_hInst, _hSelf);
UserCommand prevucmd = ucmd;
if (ucmd.doDialog() != -1 && prevucmd != ucmd)
{
//shortcut was altered
shortcuts[row - 1] = ucmd;
//save the current view
_lastHomeRow[_currentState] = _babygrid.getHomeRow();
_lastCursorRow[_currentState] = _babygrid.getSelectedRow();
fillOutBabyGrid();
isModified = true;
//Notify current Accelerator class to update everything
nppParam->getAccelerator()->updateShortcuts();
nppParam->setShortcutDirty();
}
break;
}
case STATE_PLUGIN:
{
//Get PluginCmdShortcut corresponding to row
vector<PluginCmdShortcut> & shortcuts = nppParam->getPluginCommandList();
PluginCmdShortcut pcsc = shortcuts[row - 1];
pcsc.init(_hInst, _hSelf);
PluginCmdShortcut prevpcsc = pcsc;
if (pcsc.doDialog() != -1 && prevpcsc != pcsc)
{
//shortcut was altered
示例10: CTSTRING
LRESULT UCPage::onChangeMenu(WORD , WORD , HWND , BOOL& ) {
if(ctrlCommands.GetSelectedCount() == 1) {
int sel = ctrlCommands.GetSelectedIndex();
UserCommand uc;
FavoriteManager::getInstance()->getUserCommand(ctrlCommands.GetItemData(sel), uc);
CommandDlg dlg;
dlg.type = uc.getType();
dlg.ctx = uc.getCtx();
dlg.name = Text::toT(uc.getName());
dlg.command = Text::toT(uc.getCommand());
dlg.to = Text::toT(uc.getTo());
dlg.hub = Text::toT(uc.getHub());
if(dlg.DoModal() == IDOK) {
if(dlg.type == UserCommand::TYPE_SEPARATOR)
ctrlCommands.SetItemText(sel, 0, CTSTRING(SEPARATOR));
else
ctrlCommands.SetItemText(sel, 0, dlg.name.c_str());
ctrlCommands.SetItemText(sel, 1, dlg.command.c_str());
ctrlCommands.SetItemText(sel, 2, dlg.hub.c_str());
uc.setName(Text::fromT(dlg.name));
uc.setCommand(Text::fromT(dlg.command));
uc.setTo(Text::fromT(dlg.to));
uc.setHub(Text::fromT(dlg.hub));
uc.setType(dlg.type);
uc.setCtx(dlg.ctx);
FavoriteManager::getInstance()->updateUserCommand(uc);
}
}
return 0;
}
示例11: switch
//.........这里部分代码省略.........
ListView_SetItemText(hlistview,selected_row,2,(LPWSTR)keys.c_str());
update_col_width(keys.c_str(),2);
//Notify current Accelerator class to update everything
nppParam->getAccelerator()->updateShortcuts();
TCHAR str[255];
if(0<check_in_use(_currentState,index,&csc.getKeyCombo(),nppParam,str,sizeof(str)/sizeof(TCHAR)))
MessageBox(_hSelf,str,L"Duplicates found",MB_OK);
}
break;
}
case STATE_MACRO: {
//Get MacroShortcut corresponding to index
vector<MacroShortcut> & shortcuts = nppParam->getMacroList();
MacroShortcut msc = shortcuts[index], prevmsc = shortcuts[index];
msc.init(_hInst, _hSelf);
msc.set_shortcut_info(_currentState,index);
if (msc.doDialog() != -1 && prevmsc != msc) { //shortcut was altered
generic_string name=msc.getName();
generic_string keys=msc.toString();
shortcuts[index] = msc;
ListView_SetItemText(hlistview,selected_row,1,(LPWSTR)name.c_str());
ListView_SetItemText(hlistview,selected_row,2,(LPWSTR)keys.c_str());
update_col_width(keys.c_str(),2);
//Notify current Accelerator class to update everything
nppParam->getAccelerator()->updateShortcuts();
TCHAR str[255];
if(0<check_in_use(_currentState,index,&msc.getKeyCombo(),nppParam,str,sizeof(str)/sizeof(TCHAR)))
MessageBox(_hSelf,str,L"Duplicates found",MB_OK);
}
break;
}
case STATE_USER: {
//Get UserCommand corresponding to index
vector<UserCommand> & shortcuts = nppParam->getUserCommandList();
UserCommand ucmd = shortcuts[index], prevucmd = shortcuts[index];
ucmd.init(_hInst, _hSelf);
ucmd.set_shortcut_info(_currentState,index);
prevucmd = ucmd;
if (ucmd.doDialog() != -1 && prevucmd != ucmd) { //shortcut was altered
generic_string name=ucmd.getName();
generic_string keys=ucmd.toString();
shortcuts[index] = ucmd;
ListView_SetItemText(hlistview,selected_row,1,(LPWSTR)name.c_str());
ListView_SetItemText(hlistview,selected_row,2,(LPWSTR)keys.c_str());
update_col_width(name.c_str(),1);
update_col_width(keys.c_str(),2);
//Notify current Accelerator class to update everything
nppParam->getAccelerator()->updateShortcuts();
TCHAR str[255];
if(0<check_in_use(_currentState,index,&ucmd.getKeyCombo(),nppParam,str,sizeof(str)/sizeof(TCHAR)))
MessageBox(_hSelf,str,L"Duplicates found",MB_OK);
}
break;
}
case STATE_PLUGIN: {
//Get PluginCmdShortcut corresponding to index
vector<PluginCmdShortcut> & shortcuts = nppParam->getPluginCommandList();
if(shortcuts.empty())
break;
PluginCmdShortcut pcsc = shortcuts[index], prevpcsc = shortcuts[index];
pcsc.init(_hInst, _hSelf);
pcsc.set_shortcut_info(_currentState,index);
prevpcsc = pcsc;
if (pcsc.doDialog() != -1 && prevpcsc != pcsc) { //shortcut was altered
nppParam->addPluginModifiedIndex(index);
generic_string keys=pcsc.toString();