Exemplo n.º 1
0
        public override void Undo(object oldState)
        {
            ((GnosisComboField)ControlImplementation).SetSelectedOption((GnosisComboOption)oldState);

            InstanceController.PushRedo(this, currentComboOptionImplementation);
            currentComboOptionImplementation = (GnosisComboOption)oldState;
        }
Exemplo n.º 2
0
        internal static GnosisComboOption CreateGnosisComboOption(int order)
        {
            GnosisComboOption comboOption = new GnosisComboOption();

            comboOption.ID         = GlobalData.Singleton.GetNewControlID();
            comboOption.GnosisName = "Option" + comboOption.ID.ToString();
            comboOption.Order      = order;

            return(comboOption);
        }
Exemplo n.º 3
0
        public override void OnLostFocus()
        {
            base.OnLostFocus();

            GnosisComboOption selectedOption = ((GnosisComboField)ControlImplementation).GetSelectedOption();

            if (selectedOption != currentComboOptionImplementation)
            {
                InstanceController.PushUndo(this, currentComboOptionImplementation);
                currentComboOptionImplementation = selectedOption;
            }
        }
Exemplo n.º 4
0
        internal override void Save(int rowNo)
        {
            string datasetName     = ((GnosisComboField)ControlImplementation).Dataset;
            string datasetItemName = ((GnosisComboField)ControlImplementation).DatasetItem;

            GnosisComboOption selectedOption = ((GnosisComboField)ControlImplementation).GetSelectedOption();
            string            value          = selectedOption.GetText();

            InstanceController.PutDataString(datasetName, datasetItemName, rowNo, value);

            List <GnosisKey> keys = comboOptionImplementations[selectedOption];

            foreach (GnosisKey key in keys)
            {
                InstanceController.PutDataString(key.Dataset, key.DatasetItem, rowNo, key.KeyValue);
            }
        }
Exemplo n.º 5
0
        public override void LoadData(int rowNo)
        {
            if (InstanceController != null)
            {
                string datasetName     = ((GnosisComboField)ControlImplementation).Dataset;
                string datasetItemName = ((GnosisComboField)ControlImplementation).DatasetItem;

                XElement optionsXML     = InstanceController.GetOptionsXML(datasetName, datasetItemName);
                string   valueAttribute = InstanceController.GetSourceAttributeName(datasetName, datasetItemName);
                string   selected       = InstanceController.GetDataString(datasetName, datasetItemName, rowNo);

                comboOptionImplementations = new Dictionary <GnosisComboOption, List <GnosisKey> >();
                //IGnosisComboOptionImplementation selectedOption = null;
                int i = 1;
                foreach (var row in optionsXML.Descendants())
                {
                    GnosisComboOption comboOptionImp = GnosisControlCreator.CreateGnosisComboOption(i);//GlobalData.Singleton.ImplementationCreator.GetGnosisComboOptionImplementation();
                    string            display        = row.Attribute(valueAttribute).Value;
                    comboOptionImp.SetText(display);
                    if (display.Equals(selected))
                    {
                        currentComboOptionImplementation = comboOptionImp;
                    }

                    List <GnosisKey> keys = new List <GnosisKey>();

                    if (((GnosisComboField)ControlImplementation).ComboAttributes != null)
                    {
                        foreach (GnosisComboAttribute comboAttribute in ((GnosisComboField)ControlImplementation).ComboAttributes.Where(a => a._ComboRole == GnosisComboAttribute.ComboRoleType.KEY))
                        {
                            string    targetAttribute = InstanceController.GetTargetAttributeName(comboAttribute.Dataset, comboAttribute.DatasetItem);
                            string    sourceAttribute = InstanceController.GetKeyOptionSourceAttributeName(comboAttribute.Dataset, comboAttribute.DatasetItem);
                            string    keyString       = row.Attribute(sourceAttribute).Value;
                            GnosisKey key             = new GnosisKey(comboAttribute.Dataset, comboAttribute.DatasetItem, sourceAttribute, targetAttribute, keyString);
                            keys.Add(key);
                        }
                    }

                    comboOptionImplementations.Add(comboOptionImp, keys);
                    i++;
                }

                //List<string> values = InstanceController.GetOptionsList(datasetName, datasetItemName);
                //string selected = InstanceController.GetDataString(datasetName, datasetItemName, rowNo);

                //comboOptionImplementations = new List<IGnosisComboOptionImplementation>();
                //IGnosisComboOptionImplementation selectedOption = null;

                //foreach (string option in values)
                //{
                //    IGnosisComboOptionImplementation comboOptionImp = GlobalData.Singleton.ImplementationCreator.GetGnosisComboOptionImplementation();
                //    comboOptionImplementations.Add(comboOptionImp);
                //    //comboOptionImp.LoadItem(option);
                //    comboOptionImp.SetText(option);
                //    if (option.Equals(selected))
                //    {
                //        selectedOption = comboOptionImp;
                //    }
                //}

                List <GnosisComboOption> comboOptions = new List <GnosisComboOption>();

                foreach (GnosisComboOption option in comboOptionImplementations.Keys)
                {
                    comboOptions.Add(option);
                }

                ((GnosisComboField)ControlImplementation).LoadComboOptionImplementations(comboOptions);

                if (currentComboOptionImplementation != null)
                {
                    ((GnosisComboField)ControlImplementation).SetSelectedOption(currentComboOptionImplementation);
                }
            }
        }