Esempio n. 1
0
        private void SetKeyboardAdaptors(IKeyboardRetrievingAdaptor[] adaptors)
        {
            _keyboards.Clear();
            foreach (IKeyboardRetrievingAdaptor adaptor in _adaptors.Values)
            {
                adaptor.Dispose();
            }
            _adaptors.Clear();

            foreach (IKeyboardRetrievingAdaptor adaptor in adaptors)
            {
                if (adaptor.IsApplicable)
                {
                    if ((adaptor.Type & KeyboardAdaptorType.System) == KeyboardAdaptorType.System)
                    {
                        _adaptors[KeyboardAdaptorType.System] = adaptor;
                    }
                    if ((adaptor.Type & KeyboardAdaptorType.OtherIm) == KeyboardAdaptorType.OtherIm)
                    {
                        _adaptors[KeyboardAdaptorType.OtherIm] = adaptor;
                    }
                }
            }

            foreach (IKeyboardRetrievingAdaptor adaptor in adaptors)
            {
                if (!_adaptors.ContainsValue(adaptor))
                {
                    adaptor.Dispose();
                }
            }

            // Now that we know who can deal with the keyboards we can retrieve all available
            // keyboards, as well as add the used keyboard adaptors as error report property.
            var bldr = new StringBuilder();

            foreach (IKeyboardRetrievingAdaptor adaptor in _adaptors.Values)
            {
                adaptor.Initialize();

                if (bldr.Length > 0)
                {
                    bldr.Append(", ");
                }
                bldr.Append(adaptor.GetType().Name);
            }
            ErrorReport.AddProperty("KeyboardAdaptors", bldr.ToString());
            Logger.WriteEvent("Keyboard adaptors in use: {0}", bldr.ToString());
        }
 public void Clear()
 {
     lock (GSList)
         GSList.Clear();
 }
Esempio n. 3
0
 public void ClearEventFiresOnClear()
 {
     _keyedList.Clear();
     Assert.AreEqual(0, _items);
 }