void IKeyboardControl.Create(CommandKeyRef keyRef, CommandKey key) { ButtonManager manager; switch (key.CommandType) { case "Navigate": manager = NavigateCommandButtonManager.CreateInstance(_parent, key); break; case "Function": manager = FunctionCommandButtonManager.CreateInstance(_parent, key); break; case "Modifier": manager = ModifierCommandButtonManager.CreateInstance(_parent, key); break; case "Custom": manager = CustomCommandButtonManager.CreateInstance(_parent, key); break; default: throw new InvalidOperationException(); } _parent.AddManager(this, keyRef, manager); }
internal static ModifierCommandButtonManager CreateInstance(KeyboardControl parent, CommandKey key) { Debug.Assert(key.Toggles); ButtonBase button = new KeyboardToggleButton(); var manager = new ModifierCommandButtonManager(parent, key, button); manager.UpdateStateModifiers(); return(manager); }