private static Control MakeOptionCollectionWidget(PalasoDataObject target, Field field) { OptionsList availableOptions = WeSayWordsProject.Project.GetOptionsList(field, false); OptionRefCollection refsOfChoices = target.GetOrCreateProperty <OptionRefCollection>(field.FieldName); IList <IWritingSystemDefinition> writingSystems = BasilProject.Project.WritingSystemsFromIds(field.WritingSystemIds); IChoiceSystemAdaptor <Option, string, OptionRef> displayAdaptor; if (field.FieldName == LexSense.WellKnownProperties.SemanticDomainDdp4) { displayAdaptor = new DdpOptionDisplayAdaptor(availableOptions, field.WritingSystemIds[0]); } else { displayAdaptor = new OptionDisplayAdaptor(availableOptions, field.WritingSystemIds[0]); } ReferenceCollectionEditor <Option, string, OptionRef> control = new ReferenceCollectionEditor <Option, string, OptionRef>(refsOfChoices.Members, availableOptions. Options, writingSystems, field.Visibility, displayAdaptor, WeSayWordsProject.Project.ServiceLocator); control.AlternateEmptinessHelper = refsOfChoices; return(control); }
public void Setup() { _ws = WritingSystemDefinition.Parse("qaa-x-qaa"); _ws.DefaultFontName = "Arial"; _ws.DefaultFontSize = (float)55.9; // _createNewClickedFired=false; // _valueChangedFired = false; _sourceChoices = new OptionsList(); _choiceKeys = new List <string>(); AddSourceChoice("one", "1", "Notice, this is not the number two."); //nb: key 'two' in there AddSourceChoice("two", "2", "A description of two which includes the word duo."); AddSourceChoice("three", "3", "A description of this which includes the word trio and is not two."); _displayAdaptor = new OptionDisplayAdaptor(_sourceChoices, _ws.Id); _control = new AutoCompleteWithCreationBox <Option, string>( CommonEnumerations.VisibilitySetting.Visible, null); _control.Name = "autobox"; _control.Box.Items = _sourceChoices.Options; _control.Box.ItemFilterer = _displayAdaptor.GetItemsToOffer; //leave for individual tests _control.CreateNewClicked += new EventHandler<CreateNewArgs>(_control_CreateNewClicked); _control.Box.ItemDisplayStringAdaptor = _displayAdaptor; _control.Box.WritingSystem = _ws; _control.GetKeyValueFromValue = _displayAdaptor.GetOptionFromKey; _control.GetValueFromKeyValue = _displayAdaptor.GetKeyFromOption; _control.ValueChanged += _control_ValueChanged; _dataBeingEditted = new OptionRef(); }
public void Setup() { _ws = new WritingSystem("xx", new Font("Arial", (float) 55.9)); // _createNewClickedFired=false; // _valueChangedFired = false; _sourceChoices = new OptionsList(); _choiceKeys = new List<string>(); AddSourceChoice("one", "1", "Notice, this is not the number two."); //nb: key 'two' in there AddSourceChoice("two", "2", "A description of two which includes the word duo."); AddSourceChoice("three", "3", "A description of this which includes the word trio and is not two."); _displayAdaptor = new OptionDisplayAdaptor(_sourceChoices, _ws.Id); _control = new AutoCompleteWithCreationBox<Option, string>( CommonEnumerations.VisibilitySetting.Visible); _control.Name = "autobox"; _control.Box.Items = _sourceChoices.Options; _control.Box.ItemFilterer = _displayAdaptor.GetItemsToOffer; //leave for individual tests _control.CreateNewClicked += new EventHandler<CreateNewArgs>(_control_CreateNewClicked); _control.Box.ItemDisplayStringAdaptor = _displayAdaptor; _control.Box.WritingSystem = _ws; _control.GetKeyValueFromValue = _displayAdaptor.GetOptionFromKey; _control.GetValueFromKeyValue = _displayAdaptor.GetKeyFromOption; _control.ValueChanged += _control_ValueChanged; _dataBeingEditted = new OptionRef(); }