internal Keyboard( KeyboardCollection holder, string name ) { Debug.Assert( holder != null ); _keyboards = holder; _zones = new ZoneCollection( this ); _layouts = new LayoutCollection( this ); _name = name; _availableMode = _keyboards.Context.EmptyMode; _currentMode = _keyboards.Context.EmptyMode; _reqLayer = new RequirementLayer( "Keyboard" ); }
internal void ReplaceWith( KeyboardCollection c ) { // First, adds the current one if it exists: it will be restored as the current one. // If no current keyboard exists, the first one added will become the current one. if( c.Current != null ) { c.Current.Keyboards = this; Add( c.Current ); } foreach( Keyboard k in c ) { if( k != c.Current ) { k.Keyboards = this; Add( k ); } } }
public void Destroy() { if( _keyboards != null ) { _keyboards.OnDestroy( this ); _keyboards = null; } }