- Timestamp:
- May 29, 2010, 1:13:50 PM (14 years ago)
- Branches:
- master, release-1.10, release-1.7, release-1.8, release-1.9
- Children:
- 449af72, d27ecf3
- Parents:
- 13ebf92
- git-author:
- David Benjamin <davidben@mit.edu> (05/24/10 15:08:44)
- git-committer:
- David Benjamin <davidben@mit.edu> (05/29/10 13:13:50)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
keymap.c
r13ebf92 r44cc9ab 3 3 4 4 static void _owl_keymap_format_bindings(const owl_keymap *km, owl_fmtext *fm); 5 static void _owl_keymap_format_with_ submaps(const owl_keymap *km, owl_fmtext *fm);5 static void _owl_keymap_format_with_parents(const owl_keymap *km, owl_fmtext *fm); 6 6 7 7 /* returns 0 on success */ … … 12 12 if ((km->desc = owl_strdup(desc)) == NULL) return(-1); 13 13 if (0 != owl_list_create(&km->bindings)) return(-1); 14 km-> submap= NULL;14 km->parent = NULL; 15 15 km->default_fn = default_fn; 16 16 km->prealways_fn = prealways_fn; … … 27 27 } 28 28 29 void owl_keymap_set_ submap(owl_keymap *km, const owl_keymap *submap)30 { 31 km-> submap = submap;29 void owl_keymap_set_parent(owl_keymap *km, const owl_keymap *parent) 30 { 31 km->parent = parent; 32 32 } 33 33 … … 99 99 owl_fmtext_append_normal(fm, "\n"); 100 100 } 101 if (km-> submap) {102 owl_fmtext_append_normal(fm, OWL_TABSTR "Has submap: ");103 owl_fmtext_append_normal(fm, km-> submap->name);101 if (km->parent) { 102 owl_fmtext_append_normal(fm, OWL_TABSTR "Has parent: "); 103 owl_fmtext_append_normal(fm, km->parent->name); 104 104 owl_fmtext_append_normal(fm, "\n"); 105 105 } … … 120 120 owl_fmtext_append_bold(fm, "\nKey bindings:\n\n"); 121 121 if (recurse) { 122 _owl_keymap_format_with_ submaps(km, fm);122 _owl_keymap_format_with_parents(km, fm); 123 123 } else { 124 124 _owl_keymap_format_bindings(km, fm); … … 126 126 } 127 127 128 static void _owl_keymap_format_with_ submaps(const owl_keymap *km, owl_fmtext *fm)128 static void _owl_keymap_format_with_parents(const owl_keymap *km, owl_fmtext *fm) 129 129 { 130 130 while (km) { 131 131 _owl_keymap_format_bindings(km, fm); 132 km = km-> submap;132 km = km->parent; 133 133 if (km) { 134 134 owl_fmtext_append_bold(fm, "\nInherited from "); … … 273 273 } 274 274 275 /* deal with the always_fn for the map and submaps */276 for (km=kh->active; km; km=km-> submap) {275 /* deal with the always_fn for the map and parents */ 276 for (km=kh->active; km; km=km->parent) { 277 277 if (km->prealways_fn) { 278 278 km->prealways_fn(j); … … 281 281 282 282 /* search for a match. goes through active keymap and then 283 * through submaps... TODO: clean this up so we can pull283 * through parents... TODO: clean this up so we can pull 284 284 * keyhandler and keymap apart. */ 285 for (km=kh->active; km; km=km-> submap) {285 for (km=kh->active; km; km=km->parent) { 286 286 for (i=owl_list_get_size(&km->bindings)-1; i>=0; i--) { 287 287 kb = owl_list_get_element(&km->bindings, i);
Note: See TracChangeset
for help on using the changeset viewer.