{
BindingTree *a, *b, *tmp, *last;
- printf("node=%lx\n", (long)node);
if (!_keytree.first_child) {
// there are no nodes at this level yet
_keytree.first_child = node;
last = a;
b = node;
while (a) {
- printf("in while.. b=%lx\n", (long)b);
last = a;
if (a->binding != b->binding) {
a = a->next_sibling;
a = a->first_child;
}
}
- printf("after while.. b=%lx\n", (long)b);
if (last->binding != b->binding)
last->next_sibling = b;
- else
+ else {
last->first_child = b->first_child;
- delete b;
+ delete b;
+ }
}
}
int OBBindings::find_key(BindingTree *search) const {
BindingTree *a, *b;
- print_branch(&_keytree, " Searching:");
- print_branch(search, " for...");
a = _keytree.first_child;
b = search;
while (a && b) {
} else {
if (a->chain == b->chain) {
if (!a->chain) {
- printf("Match found with %s\n", a->text.c_str());
return a->id; // found it! (return the actual id, not the search's)
}
} else {
- printf("Conflict found with %s\n", a->text.c_str());
return -2; // the chain status' don't match (conflict!)
}
b = b->first_child;
if (!(tree = buildtree(keylist, id)))
return false; // invalid binding requested
- print_branch(tree, " Adding: ");
-
if (find_key(tree) != -1) {
// conflicts with another binding
- printf("Conflict\n");
destroytree(tree);
return false;
}
// assimilate this built tree into the main tree
assimilate(tree); // assimilation destroys/uses the tree
- printf("Added!\n");
- print_branch(&_keytree, "");
- printf("\n");
-
return true;
}
v.push_back("C-a");
_bindings->add_key(v, 3);
-// _bindings->add_mouse("A-1", 1);
+ _bindings->add_mouse("A-1", 1);
-// printf("CHAINS:\n");
-// _bindings->display();
+ printf("CHAINS:\n");
+ _bindings->display();
::exit(0);
setMasterHandler(_actions); // set as the master event handler