Ejemplo n.º 1
0
        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();
        }