* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
* \author Jean-Marc Lasgouttes
* \author John Levon
- * \author André Pönitz
+ * \author André Pönitz
*
* Full author contact details are available in file CREDITS.
*/
}
-bool KeyMap::hasBinding(KeySequence const & seq, FuncRequest const & func,
- unsigned int r)
+FuncRequest KeyMap::getBinding(KeySequence const & seq, unsigned int r)
{
KeySymbol code = seq.sequence[r];
if (!code.isOK())
- return false;
+ return FuncRequest::unknown;
KeyModifier const mod1 = seq.modifiers[r].first;
KeyModifier const mod2 = seq.modifiers[r].second;
&& mod1 == it->mod.first
&& mod2 == it->mod.second) {
if (r + 1 == seq.length())
- return it->func == func;
+ return it->func;
else if (it->table.get())
- return it->table->hasBinding(seq, func, r + 1);
+ return it->table->getBinding(seq, r + 1);
}
}
- return false;
+ return FuncRequest::unknown;
}
FuncRequest const & KeyMap::lookup(KeySymbol const &key,
KeyModifier mod, KeySequence * seq) const
{
- static FuncRequest const unknown(LFUN_UNKNOWN_ACTION);
-
if (table.empty()) {
seq->curmap = seq->stdmap;
seq->mark_deleted();
- return unknown;
+ return FuncRequest::unknown;
}
Table::const_iterator end = table.end();
seq->curmap = seq->stdmap;
seq->mark_deleted();
- return unknown;
+ return FuncRequest::unknown;
}
}
-docstring KeyMap::printBindings(FuncRequest const & func) const
+docstring KeyMap::printBindings(FuncRequest const & func,
+ KeySequence::outputFormat format) const
{
Bindings bindings = findBindings(func);
if (bindings.empty())
odocstringstream res;
Bindings::const_iterator cit = bindings.begin();
Bindings::const_iterator cit_end = bindings.end();
- // prin the first item
- res << cit->print(KeySequence::ForGui);
+ // print the first item
+ res << cit->print(format);
// more than one shortcuts?
for (++cit; cit != cit_end; ++cit)
- res << ", " << cit->print(KeySequence::ForGui);
+ res << ", " << cit->print(format);
return res.str();
}
}
-KeyMap::BindingList KeyMap::listBindings(bool unbound, int tag) const
+KeyMap::BindingList KeyMap::listBindings(bool unbound, KeyMap::ItemType tag) const
{
BindingList list;
listBindings(list, KeySequence(0, 0), tag);
void KeyMap::listBindings(BindingList & list,
- KeySequence const & prefix, int tag) const
+ KeySequence const & prefix, KeyMap::ItemType tag) const
{
Table::const_iterator it = table.begin();
Table::const_iterator it_end = table.end();