コード例 #1
0
        public IObjectViewModel Add(ObjectType objectType)
        {
            ErrorMessage = string.Empty;

            var id   = MakeId();
            var name = $"Объект {id}";

            IObjectViewModel viewModel;
            IVariableWrapper variable;

            switch (objectType)
            {
            case ObjectType.Label:
                viewModel = new LabelViewModel(id, name, _dataProvider);
                break;

            case ObjectType.TextBox:
                variable  = CreateVariable(VariableType.String);
                viewModel = new TextBoxViewModel(id, name, variable, _dataProvider);
                break;

            case ObjectType.CheckBox:
                variable  = CreateVariable(VariableType.Bool);
                viewModel = new CheckBoxViewModel(id, name, variable, _dataProvider);
                break;

            case ObjectType.RadioButton:
                variable  = CreateVariable(VariableType.Bool);
                viewModel = new RadioViewModel(id, name, variable, _dataProvider)
                {
                    GroupName = GetRadioGroupName()
                };
                break;

            case ObjectType.DatePicker:
                variable  = CreateVariable(VariableType.Date);
                viewModel = new DatePickerViewModel(id, name, variable, _dataProvider);
                break;

            case ObjectType.TimePicker:
                variable  = CreateVariable(VariableType.Time);
                viewModel = new TimePickerViewModel(id, name, variable, _dataProvider);
                break;

            default:
                ErrorMessage = "Неизвестный тип объекта.";
                return(null);
            }

            viewModel.Properties.TabId        = _dataProvider.TabsRepository.SelectedTabIndex;
            viewModel.Properties.Left         = 20;
            viewModel.Properties.Top          = 20;
            viewModel.Properties.FontSettings = new FontSettings();
            ViewModels.Add(viewModel);
            Select(viewModel);
            ObjectModified?.Invoke(viewModel.Properties.Id);

            return(viewModel);
        }
コード例 #2
0
        protected void SetupPicker(UITextField field, string type)
        {
            // Setup the toolbar
            UIToolbar toolbar = new UIToolbar();

            toolbar.BarStyle    = UIBarStyle.Black;
            toolbar.Translucent = true;
            toolbar.SizeToFit();

            // Create a 'done' button for the toolbar and add it to the toolbar
            UIBarButtonItem doneButton = new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, (s, e) =>
            {
                field.ResignFirstResponder();
            });

            toolbar.SetItems(new UIBarButtonItem[] { doneButton }, true);

            UIPickerViewModel picker_model = new UIPickerViewModel();

            if (type == "time")
            {
                picker_model = new TimePickerViewModel(field);
            }
            else if (type == "ranking")
            {
                picker_model = new RankingPickerViewModel(field);
            }
            else if (type == "hr")
            {
                picker_model = new HRPickerViewModel(field);
            }
            else if (type == "pace")
            {
                picker_model = new PacePickerViewModel(field);
            }
            else if (type == "type")
            {
                picker_model = new PTypePickerViewModel(field);
            }

            UIPickerView picker = new UIPickerView();

            picker.BackgroundColor        = UIColor.White;
            picker.Model                  = picker_model;
            picker.ShowSelectionIndicator = true;

            field.InputView          = picker;
            field.InputAccessoryView = toolbar;

            field.ShouldChangeCharacters = new UITextFieldChange(delegate(UITextField textField, NSRange range, string replacementString)
            {
                return(false);
            });
        }
コード例 #3
0
        public TimePickerPage(TodoItemViewModel todoItemViewModel, TodoListViewModel todoListViewModel)
        {
            InitializeComponent();

            TimePickerViewModel = new TimePickerViewModel()
            {
                TodoItemViewModel = todoItemViewModel,
                TodoListViewModel = todoListViewModel,
                Navigation        = this.Navigation,
                Time = todoItemViewModel.Time
            };

            this.BindingContext = TimePickerViewModel;
        }
コード例 #4
0
        public override void AwakeFromNib()
        {
            base.AwakeFromNib();

            TimePicker = new UIPickerView();
            ContentView.AddSubview(TimePicker);

            TimePicker.TranslatesAutoresizingMaskIntoConstraints = false;

            //ContentView.AddConstraint(NSLayoutConstraint.Create(ContentView, NSLayoutAttribute.Height, NSLayoutRelation.Equal, null, NSLayoutAttribute.NoAttribute, 120, 0));
            ContentView.AddConstraint(NSLayoutConstraint.Create(TimePicker, NSLayoutAttribute.Top, NSLayoutRelation.Equal, ContentView, NSLayoutAttribute.Top, 1, 0));
            ContentView.AddConstraint(NSLayoutConstraint.Create(TimePicker, NSLayoutAttribute.Leading, NSLayoutRelation.Equal, ContentView, NSLayoutAttribute.Leading, 1, 0));
            ContentView.AddConstraint(NSLayoutConstraint.Create(TimePicker, NSLayoutAttribute.Trailing, NSLayoutRelation.Equal, ContentView, NSLayoutAttribute.Trailing, 1, 0));
            ContentView.AddConstraint(NSLayoutConstraint.Create(TimePicker, NSLayoutAttribute.Bottom, NSLayoutRelation.Equal, ContentView, NSLayoutAttribute.Bottom, 1, 0));

            Model = new TimePickerViewModel(TimePicker);
            TimePicker.Model = Model;
        }
コード例 #5
0
        /// <summary>
        /// Добавление десериализуемого объекта
        /// </summary>
        public void Add(IFormObject formObject)
        {
            IObjectViewModel viewModel = null;

            if (formObject is CheckBoxObject)
            {
                viewModel = new CheckBoxViewModel((CheckBoxObject)formObject, _dataProvider);
            }
            else if (formObject is LabelObject)
            {
                viewModel = new LabelViewModel((LabelObject)formObject, _dataProvider);
            }
            else if (formObject is TextBoxObject)
            {
                viewModel = new TextBoxViewModel((TextBoxObject)formObject, _dataProvider);
            }
            else if (formObject is RadioButtonObject)
            {
                viewModel = new RadioViewModel((RadioButtonObject)formObject, _dataProvider);
            }
            else if (formObject is DateBoxObject)
            {
                viewModel = new DatePickerViewModel((DateBoxObject)formObject, _dataProvider);
            }
            else if (formObject is TimePickerObject)
            {
                viewModel = new TimePickerViewModel((TimePickerObject)formObject, _dataProvider);
            }

            if (viewModel == null)
            {
                return;
            }

            viewModel.Properties.Left       = formObject.Left;
            viewModel.Properties.Top        = formObject.Top;
            viewModel.Properties.IsSelected = false;
            viewModel.Properties.SetVisibility(formObject.IsVisible);
            viewModel.Properties.TabId = formObject.TabId;
            ViewModels.Add(viewModel);
            ObjectModified?.Invoke(viewModel.Properties.Id);
        }