private void AddText(string text) { var label = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = text, Lines = 0 // Wrap text }; StackView.AddArrangedSubview(label); label.StretchWidth(StackView, left: 16, right: 16); }
public ConfigureClassPassingGradeViewController() { Title = PowerPlannerResources.GetString("Settings_GradeOptions_ListItemPassingGrade.Title"); PowerPlannerUIHelper.ConfigureForInputsStyle(this); var cancelButton = new UIBarButtonItem() { Title = PowerPlannerResources.GetStringCancel() }; cancelButton.Clicked += new WeakEventHandler <EventArgs>(CancelButton_Clicked).Handler; NavigationItem.LeftBarButtonItem = cancelButton; var saveButton = new UIBarButtonItem() { Title = PowerPlannerResources.GetStringSave() }; saveButton.Clicked += new WeakEventHandler <EventArgs>(SaveButton_Clicked).Handler; NavigationItem.RightBarButtonItem = saveButton; StackView.AddSectionDivider(); var textFieldPassingGrade = new UITextField() { TranslatesAutoresizingMaskIntoConstraints = false, KeyboardType = UIKeyboardType.DecimalPad, AdjustsFontSizeToFitWidth = true, Placeholder = PowerPlannerResources.GetExamplePlaceholderString(60.ToString()) }; BindingHost.SetTextFieldTextBinding <double>(textFieldPassingGrade, nameof(ViewModel.PassingGrade), converter: TextToDoubleConverter.Convert, backConverter: TextToDoubleConverter.ConvertBack); AddTextField(StackView, textFieldPassingGrade, firstResponder: true); StackView.AddSectionDivider(); StackView.AddSpacing(16); var labelDescription = new UILabel() { Text = PowerPlannerResources.GetString("Settings_GradeOptions_PassingGrade_Explanation.Text"), Lines = 0, Font = UIFont.PreferredCaption1, TextColor = UIColor.LightGray }; StackView.AddArrangedSubview(labelDescription); labelDescription.StretchWidth(StackView, left: 16, right: 16); StackView.AddSpacing(16); StackView.AddBottomSectionDivider(); }
public override void OnViewModelAndViewLoadedOverride() { Title = ViewModel.State == AddSemesterViewModel.OperationState.Adding ? "Add Semester" : "Edit Semester"; ViewModel.SupportsStartEnd = true; BackButtonText = "Cancel"; PositiveNavBarButton = new PopupRightNavBarButtonItem("Save", delegate { Save(); }); AddTopSectionDivider(); AddTextField(new UITextField() { Placeholder = "Name (ex: Fall)", ReturnKeyType = UIReturnKeyType.Done, EnablesReturnKeyAutomatically = true }, nameof(ViewModel.Name), firstResponder: ViewModel.State == AddSemesterViewModel.OperationState.Adding); AddSectionDivider(); var datePickerStart = new BareUIInlineDatePicker(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false, HeaderText = "Start Date" }; BindingHost.SetDateBinding(datePickerStart, nameof(ViewModel.StartDate)); StackView.AddArrangedSubview(datePickerStart); datePickerStart.StretchWidth(StackView); datePickerStart.SetHeight(44); AddDivider(); var datePickerEnd = new BareUIInlineDatePicker(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false, HeaderText = "End Date" }; BindingHost.SetDateBinding(datePickerEnd, nameof(ViewModel.EndDate)); StackView.AddArrangedSubview(datePickerEnd); datePickerEnd.StretchWidth(StackView); datePickerEnd.SetHeight(44); AddSectionDivider(); AddDeleteButtonWithConfirmation("Delete Semester", ViewModel.Delete, "Delete semester?", "Are you sure you want to delete this semester and all of its classes, grades, and homework?"); AddBottomSectionDivider(); base.OnViewModelAndViewLoadedOverride(); }
/// <summary> /// Handles all menu requests /// </summary> /// <param name="url"></param> public void OpenWebActivity(string url) { LinearLayout mainLayout = FindViewById <LinearLayout>(Resource.Layout.Main2); webLayout = FindViewById <StackView>(Resource.Layout.Web); if (webLayout != null) { mainLayout.AddView(webLayout); browser = FindViewById <WebView>(Resource.Id.mainWebView); } browser.LoadUrl(url); }
private void AddSwitch(string header, string bindingName) { var container = new BareUISwitch() { TranslatesAutoresizingMaskIntoConstraints = false, Header = header }; BindingHost.SetSwitchBinding(container, bindingName); StackView.AddArrangedSubview(container); container.StretchWidth(StackView); container.SetHeight(44); }
private void SetUpPhotoRow() { var titleLabel = new UILabel(); titleLabel.Font = UIFont.PreferredBody; titleLabel.Lines = 0; titleLabel.Text = "Handle user interaction"; StackView.AddRow(titleLabel); StackView.HideSeparator(titleLabel); StackView.SetInset(forRow: titleLabel, inset: new UIEdgeInsets( top: StackView.RowInset.Top, left: StackView.RowInset.Left, bottom: 4, right: StackView.RowInset.Right)); var captionLabel = new UILabel(); captionLabel.Font = UIFont.PreferredCaption2; captionLabel.TextColor = UIColor.Blue; captionLabel.Lines = 0; captionLabel.Text = "(Try tapping on the photo!)"; StackView.AddRow(captionLabel); StackView.HideSeparator(forRow: captionLabel); StackView.SetInset(forRow: captionLabel, inset: new UIEdgeInsets( top: 0, left: StackView.RowInset.Left, bottom: StackView.RowInset.Bottom, right: StackView.RowInset.Right)); var image = new UIImage(); // TODO: add image var aspectRatio = 1; //image.Size.Height / image.Size.Width; var imageView = new UIImageView(new CGRect(0, 0, 100, 100)); // image: image imageView.BackgroundColor = UIColor.Red; imageView.UserInteractionEnabled = true; imageView.ContentMode = UIViewContentMode.ScaleAspectFit; imageView.HeightAnchor.ConstraintEqualTo(imageView.WidthAnchor, multiplier: aspectRatio).Active = true; StackView.AddRow(imageView); StackView.SetTapHandler(imageView, _ => { var alert = UIAlertController.Create("Title ;)", "Tapped", UIAlertControllerStyle.Alert); alert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Cancel, null)); PresentViewController(alert, true, null); // TODO: create photo view controller //var vc = new PhotoViewController(); //NavigationController.PushViewController(vc, animated: true); }); }
private void AddHeader(string text) { AddSpacing(16); var label = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = text, Font = UIFont.PreferredBody.Bold() }; StackView.AddArrangedSubview(label); label.StretchWidth(StackView, left: 16, right: 16); }
static void Main(string[] args) { FigmaApplication.Init(Environment.GetEnvironmentVariable("TOKEN")); NSApplication.Init(); NSApplication.SharedApplication.ActivationPolicy = NSApplicationActivationPolicy.Regular; var stackView = new StackView() { Orientation = LayoutOrientation.Vertical }; scrollView = new ScrollView(); var mainWindow = new Window(new Rectangle(0, 0, 540, 800)) { Content = scrollView }; mainWindow.Closing += delegate { NSRunningApplication.CurrentApplication.Terminate(); }; //TIP: the render consist in 2 steps: //1) generate all the views, decorating and calculate sizes //2) with this views we generate the hierarchy and position all the views based in the //native toolkit positioning system //in this case we want use a remote file provider (figma url from our document) var fileProvider = new FigmaRemoteFileProvider(); //we initialize our renderer service, this uses all the converters passed //and generate a collection of NodesProcessed which is basically contains <FigmaModel, IView, FigmaParentModel> var rendererService = new FigmaViewRendererService(fileProvider); rendererService.Start(fileName, scrollView.ContentView); //now we have all the views processed and the relationship we can distribute all the views into the desired base view var layoutManager = new StoryboardLayoutManager(); layoutManager.Run(scrollView.ContentView, rendererService); //NOTE: some toolkits requires set the real size of the content of the scrollview before position layers scrollView.AdjustToContent(); mainWindow.Show(); //mainWindow.Title = manager.WindowTitle; NSApplication.SharedApplication.ActivateIgnoringOtherApps(true); NSApplication.SharedApplication.Run(); }
public void OpenWebActivity(string url) { //Intent i = new Intent(this,); //StartActivity(i); //Finish(); LinearLayout mainLayout = FindViewById <LinearLayout>(Resource.Layout.Main2); webLayout = FindViewById <StackView>(Resource.Layout.Web); if (webLayout != null) { mainLayout.AddView(webLayout); browser = FindViewById <WebView>(Resource.Id.mainWebView); } browser.LoadUrl(url); }
public override void OnViewModelLoadedOverride() { if (ViewModel.Usernames.Length == 0) { // Shouldn't happen return; } AddSpacing(16); var label = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = "Your username is: " + ViewModel.Usernames.First() }; StackView.AddArrangedSubview(label); label.StretchWidth(StackView, left: 16, right: 16); if (ViewModel.Usernames.Length > 1) { AddSpacing(16); var additionalHeader = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = "Additional usernames...", Font = UIFont.PreferredCaption1.Bold() }; StackView.AddArrangedSubview(additionalHeader); additionalHeader.StretchWidth(StackView, left: 16, right: 16); foreach (var username in ViewModel.Usernames.Skip(1)) { var additionalUsername = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = username, Font = UIFont.PreferredCaption1 }; StackView.AddArrangedSubview(additionalUsername); additionalUsername.StretchWidth(StackView, left: 16, right: 16); } } base.OnViewModelLoadedOverride(); }
protected override void Build() { var container = new StackView(); foreach (var control in GetControls()) { container.AddControl(control); } base.controlContainer = new ExpanderBase(name, false) { Content = container }; base.contentAlignment = Eto.Forms.VerticalAlignment.Top; base.deleteButtonAlignment = Eto.Forms.VerticalAlignment.Top; base.Build(); }
public ExampleGradientContentView() { ContentView = new ExtendedView() { MovableByWindowBackground = true, BorderColor = new Color(1, 1, 1, 0.08f) }; ContentView.SetGradientLayer( new Color(r: 1.00f, g: 0.00f, b: 0.53f), new Color(r: 0.87f, g: 0.00f, b: 0.93f) ); AddChild(ContentView); OperationsView = new StackView() { Orientation = LayoutOrientation.Horizontal }; AddChild(OperationsView); }
public ClassDetailsViewController() { Title = "Details"; var textViewDetails = new UITextView() { TranslatesAutoresizingMaskIntoConstraints = false, Font = UIFont.PreferredBody, Editable = false, ScrollEnabled = false, // Link detection: http://iosdevelopertips.com/user-interface/creating-clickable-hyperlinks-from-a-url-phone-number-or-address.html DataDetectorTypes = UIDataDetectorType.All }; // Lose the padding: https://stackoverflow.com/questions/746670/how-to-lose-margin-padding-in-uitextview textViewDetails.TextContainerInset = UIEdgeInsets.Zero; textViewDetails.TextContainer.LineFragmentPadding = 0; BindingHost.SetTextViewTextBinding(textViewDetails, nameof(ViewModel.Details)); StackView.AddArrangedSubview(textViewDetails); textViewDetails.StretchWidth(StackView); var labelNothingHere = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Lines = 0, Font = UIFont.PreferredCallout, Text = "Tap the edit button in the top right to add details like the teacher's contact info, office hours, and anything else!", TextColor = UIColor.LightGray, TextAlignment = UITextAlignment.Center }; View.Add(labelNothingHere); labelNothingHere.StretchWidth(View, left: 16, right: 16); labelNothingHere.StretchHeight(View, top: 16, bottom: 16); BindingHost.SetBinding(nameof(ViewModel.Details), delegate { labelNothingHere.Hidden = !string.IsNullOrWhiteSpace(ViewModel.Details); }); }
public override void OnViewModelLoadedOverride() { AddSpacing(16); var label = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = PowerPlannerResources.GetString("Welcome_ConnectAccountPage_Message.Text"), Lines = 0 // Wraps text }; StackView.AddArrangedSubview(label); label.StretchWidth(StackView, left: 16, right: 16); AddSpacing(24); var buttonLogIn = PowerPlannerUIHelper.CreatePowerPlannerBlueButton("Log In"); buttonLogIn.TranslatesAutoresizingMaskIntoConstraints = false; buttonLogIn.TouchUpInside += new WeakEventHandler <EventArgs>(delegate { ViewModel.LogIn(); }).Handler; StackView.AddArrangedSubview(buttonLogIn); buttonLogIn.StretchWidth(StackView, left: 16, right: 16); AddSpacing(6); var labelHelp = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = PowerPlannerResources.GetString("Welcome_ConnectAccountPage_NeedHelp.Text"), Lines = 0, Font = UIFont.PreferredCaption1 }; StackView.AddArrangedSubview(labelHelp); labelHelp.StretchWidth(StackView, left: 16, right: 16); AddSpacing(16); base.OnViewModelLoadedOverride(); }
/// WheelMenu wheelMenu; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Main2); LinearLayout mainLayout = FindViewById <LinearLayout>(Resource.Layout.Main2); mCircleMenuLayout = (CircleMenuLayout)FindViewById(Resource.Id.menulayout); mCircleMenuLayout.setMenuItemIconsAndTexts(mItemImgs, mItemTexts); CircleMenuEventArgs e = new CircleMenuEventArgs() { }; mCircleMenuLayout.ItemClickedFinished += MCircleMenuLayout_ItemClicked; webLayout = FindViewById <StackView>(Resource.Layout.Web); if (webLayout != null) { mainLayout.AddView(webLayout); } browser = FindViewById <WebView>(Resource.Id.mainWebView); }
static void Main(string[] args) { NSApplication.Init(); NSApplication.SharedApplication.ActivationPolicy = NSApplicationActivationPolicy.Regular; var mainWindow = new Window(new Rectangle(0, 0, 540, 800)) { Title = "Test Window", }; var stackView = new StackView() { Orientation = LayoutOrientation.Vertical }; mainWindow.Content = stackView; var path = System.IO.Path.GetDirectoryName(System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)); path = System.IO.Path.Combine(path, "Resources", "mydraw.svg"); var data = System.IO.File.ReadAllText(path); SvgShapeView shapeView = new SvgShapeView(); shapeView.Allocation = new Rectangle(0, 0, 100, 100); stackView.AddChild(shapeView); shapeView.Load(data); //AnimationCircle(stackView); mainWindow.Show(); //mainWindow.Closing += delegate { NSRunningApplication.CurrentApplication.Terminate(); }; NSApplication.SharedApplication.ActivateIgnoringOtherApps(true); NSApplication.SharedApplication.Run(); }
public EditClassCreditsViewController() { Title = "Credits"; PowerPlannerUIHelper.ConfigureForInputsStyle(this); var cancelButton = new UIBarButtonItem() { Title = "Cancel" }; cancelButton.Clicked += new WeakEventHandler <EventArgs>(CancelButton_Clicked).Handler; NavigationItem.LeftBarButtonItem = cancelButton; var saveButton = new UIBarButtonItem() { Title = "Save" }; saveButton.Clicked += new WeakEventHandler <EventArgs>(SaveButton_Clicked).Handler; NavigationItem.RightBarButtonItem = saveButton; StackView.AddSectionDivider(); var textFieldCredits = new UITextField() { TranslatesAutoresizingMaskIntoConstraints = false, KeyboardType = UIKeyboardType.DecimalPad, AdjustsFontSizeToFitWidth = true, Placeholder = "ex: 3" }; BindingHost.SetTextFieldTextBinding <double>(textFieldCredits, nameof(ViewModel.Credits), converter: CreditsToTextBoxTextConverter.Convert, backConverter: CreditsToTextBoxTextConverter.ConvertBack); AddTextField(StackView, textFieldCredits, firstResponder: true); StackView.AddSectionDivider(); }
public override void OnViewModelLoadedOverride() { AddSpacing(16); var label = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = PowerPlannerResources.GetString("Welcome_ExistingUserPage_Message.Text"), Lines = 0 // Wraps text }; StackView.AddArrangedSubview(label); label.StretchWidth(StackView, left: 16, right: 16); AddSpacing(24); var buttonHasAccount = PowerPlannerUIHelper.CreatePowerPlannerBlueButton(PowerPlannerResources.GetString("Welcome_ExistingUserPage_ButtonHasAccount.Content")); buttonHasAccount.TranslatesAutoresizingMaskIntoConstraints = false; buttonHasAccount.TouchUpInside += new WeakEventHandler <EventArgs>(delegate { ViewModel.HasAccount(); }).Handler; StackView.AddArrangedSubview(buttonHasAccount); buttonHasAccount.StretchWidth(StackView, left: 16, right: 16); AddSpacing(8); var buttonNoAccount = PowerPlannerUIHelper.CreatePowerPlannerBlueButton(PowerPlannerResources.GetString("Welcome_ExistingUserPage_ButtonNoAccount.Content")); buttonNoAccount.TranslatesAutoresizingMaskIntoConstraints = false; buttonNoAccount.TouchUpInside += new WeakEventHandler <EventArgs>(delegate { ViewModel.NoAccount(); }).Handler; StackView.AddArrangedSubview(buttonNoAccount); buttonNoAccount.StretchWidth(StackView, left: 16, right: 16); AddSpacing(16); base.OnViewModelLoadedOverride(); }
public MainSample() { mainWindow = new Window(new Rectangle(0, 0, 540, 800)) { Title = "Test Window", }; menuStackView = new StackView { Orientation = LayoutOrientation.Vertical, Padding = new Padding(10), Allocation = new Rectangle(0, 0, menuWidth, mainWindow.Content.Allocation.Height), BackgroundColor = Color.Green }; mainWindow.Content.AddChild(menuStackView); //contentView = new View() { // Allocation = new Rectangle(menuWidth, 0, mainWindow.Content.Allocation.Width - menuWidth, mainWindow.Content.Allocation.Height), // BackgroundColor = Color.Red //}; mainWindow.Resize += (s, e) => Refresh(); //examples foreach (var example in examples) { var example1Button = new Button() { Text = example.name }; menuStackView.AddChild(example1Button); example1Button.Clicked += (s, e) => Select(example.sample); } //mainWindow.Content.AddChild(contentView); mainWindow.Show(); }
public ViewGradeViewController() { Title = "View Grade"; var buttonEdit = new UIBarButtonItem(UIBarButtonSystemItem.Edit); buttonEdit.Clicked += new WeakEventHandler(delegate { ViewModel.Edit(); }).Handler; var buttonDelete = new UIBarButtonItem(UIBarButtonSystemItem.Trash); buttonDelete.Clicked += new WeakEventHandler(ButtonDelete_Clicked).Handler; NavItem.RightBarButtonItems = new UIBarButtonItem[] { buttonDelete, buttonEdit }; var labelTitle = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Font = UIFont.PreferredTitle3, Lines = 0 }; _itemBindingHost.SetLabelTextBinding(labelTitle, nameof(ViewModel.Grade.Name)); StackView.AddArrangedSubview(labelTitle); labelTitle.StretchWidth(StackView); StackView.AddArrangedSubview(new UIView().SetHeight(4)); var labelSubtitle = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Font = UIFont.PreferredSubheadline, Lines = 0 }; _itemBindingHost.SetLabelTextBinding(labelSubtitle, nameof(ViewItemGrade.GradeSubtitle)); _classBindingHost.SetBinding <byte[]>(nameof(ViewItemClass.Color), (color) => { labelSubtitle.TextColor = BareUIHelper.ToColor(color); }); StackView.AddArrangedSubview(labelSubtitle); labelSubtitle.StretchWidth(StackView); StackView.AddArrangedSubview(new UIView().SetHeight(4)); var labelDate = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Font = UIFont.PreferredSubheadline, TextColor = UIColor.DarkGray }; _itemBindingHost.SetBinding <DateTime>(nameof(ViewItemGrade.Date), (date) => { labelDate.Text = date.ToString("d"); }); StackView.AddArrangedSubview(labelDate); labelDate.StretchWidth(StackView); StackView.AddArrangedSubview(new UIView().SetHeight(4)); var labelDetails = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Font = UIFont.PreferredCaption1, Lines = 0, TextColor = UIColor.DarkGray }; _itemBindingHost.SetLabelTextBinding(labelDetails, nameof(ViewItemGrade.Details)); StackView.AddArrangedSubview(labelDetails); labelDetails.StretchWidth(StackView); }
public override void OnViewModelLoadedOverride() { AddTopSectionDivider(); if (ViewModel.Message != null) { StackView.AddSpacing(8); var labelMessage = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = ViewModel.Message, Font = UIFont.PreferredCaption1, Lines = 0 }; StackView.AddArrangedSubview(labelMessage); labelMessage.StretchWidth(StackView, left: 16, right: 16); StackView.AddSpacing(8); AddSectionDivider(); } AddTextField(new UITextField() { Placeholder = "Username", AutocapitalizationType = UITextAutocapitalizationType.None, AutocorrectionType = UITextAutocorrectionType.No, KeyboardType = UIKeyboardType.ASCIICapable, ReturnKeyType = UIReturnKeyType.Next, EnablesReturnKeyAutomatically = true }, nameof(ViewModel.Username), firstResponder: true); AddDivider(); AddTextField(new UITextField() { Placeholder = "Password", SecureTextEntry = true, ReturnKeyType = UIReturnKeyType.Go, EnablesReturnKeyAutomatically = true }, nameof(ViewModel.Password)); AddSectionDivider(); _buttonLogin = new UIButton(UIButtonType.System) { TranslatesAutoresizingMaskIntoConstraints = false }; _buttonLogin.TouchUpInside += new WeakEventHandler <EventArgs>(delegate { Login(); }).Handler; _buttonLogin.SetTitle("Log In", UIControlState.Normal); StackView.AddArrangedSubview(_buttonLogin); _buttonLogin.StretchWidth(StackView); _buttonLogin.SetHeight(44); AddDivider(fullWidth: true); var forgotViews = new UIView() { TranslatesAutoresizingMaskIntoConstraints = false, BackgroundColor = ColorResources.InputSectionDividers }; { var leftSpacer = new UIView() { TranslatesAutoresizingMaskIntoConstraints = false }; forgotViews.Add(leftSpacer); var rightSpacer = new UIView() { TranslatesAutoresizingMaskIntoConstraints = false }; forgotViews.Add(rightSpacer); var buttonForgotUsername = new UIButton(UIButtonType.System) { TranslatesAutoresizingMaskIntoConstraints = false, HorizontalAlignment = UIControlContentHorizontalAlignment.Right, Font = UIFont.PreferredCaption1 }; buttonForgotUsername.TouchUpInside += new WeakEventHandler(delegate { ViewModel.ForgotUsername(); }).Handler; buttonForgotUsername.SetTitle("Forgot Username", UIControlState.Normal); forgotViews.Add(buttonForgotUsername); buttonForgotUsername.StretchHeight(forgotViews); var verticalDivider = new UIView() { TranslatesAutoresizingMaskIntoConstraints = false, BackgroundColor = UIColor.FromWhiteAlpha(0.7f, 1) }; forgotViews.Add(verticalDivider); verticalDivider.StretchHeight(forgotViews, top: 16, bottom: 16); var buttonForgotPassword = new UIButton(UIButtonType.System) { TranslatesAutoresizingMaskIntoConstraints = false, HorizontalAlignment = UIControlContentHorizontalAlignment.Left, Font = UIFont.PreferredCaption1 }; buttonForgotPassword.TouchUpInside += new WeakEventHandler(delegate { ViewModel.ForgotPassword(); }).Handler; buttonForgotPassword.SetTitle("Forgot Password", UIControlState.Normal); forgotViews.Add(buttonForgotPassword); buttonForgotPassword.StretchHeight(forgotViews); forgotViews.AddConstraints(NSLayoutConstraint.FromVisualFormat("H:|[leftSpacer][forgotUsername]-8-[verticalDivider(1)]-8-[forgotPassword][rightSpacer(==leftSpacer)]|", NSLayoutFormatOptions.DirectionLeadingToTrailing, null, new NSDictionary( "forgotUsername", buttonForgotUsername, "verticalDivider", verticalDivider, "forgotPassword", buttonForgotPassword, "leftSpacer", leftSpacer, "rightSpacer", rightSpacer))); } StackView.AddArrangedSubview(forgotViews); forgotViews.StretchWidth(StackView); forgotViews.SetHeight(44); ViewModel.PropertyChanged += new WeakEventHandler <PropertyChangedEventArgs>(ViewModel_PropertyChanged).Handler; base.OnViewModelLoadedOverride(); }
static void Main(string[] args) { NSApplication.Init(); NSApplication.SharedApplication.ActivationPolicy = NSApplicationActivationPolicy.Regular; mainWindow = new Window(new Rectangle(0, 0, 567, 675)) { Title = "Test Window", Resizable = false, }; //mainWindow.Content.BackgroundColor = Color.Black; //mainWindow.Content.BackgroundColor = Color.Transparent; mainWindow.Center(); mainWindow.MovableByWindowBackground = mainWindow.Content.MovableByWindowBackground = true; //mainWindow.Borderless = true; //mainWindow.IsOpaque = false; //mainWindow.BackgroundColor = Color.Transparent; mainWindow.IsFullSizeContentView = true; buttonContentStackView = new StackView() { Orientation = LayoutOrientation.Horizontal, Allocation = new Rectangle(0, 0, mainWindow.Size.Width, 20), MovableByWindowBackground = true }; mainWindow.Content.AddChild(buttonContentStackView); actionContainerView = new OptionsPanelGradienContentView() { Allocation = new Rectangle(10, 25, mainWindow.Size.Width - 20, mainWindow.Size.Height - 35), MovableByWindowBackground = true }; mainWindow.Content.AddChild(actionContainerView); page1 = new Page1(actionContainerView); page2 = new Page2(actionContainerView); //page3 = new Page3(actionContainerView); var button = new Button() { Text = "Transformation" }; buttonContentStackView.AddChild(button); button.Clicked += (s, e) => SelectPage(page1); var button2 = new Button() { Text = "Svg" }; buttonContentStackView.AddChild(button2); button2.Clicked += (s, e) => SelectPage(page2); var button3 = new Button() { Text = "Shapes" }; buttonContentStackView.AddChild(button3); //button3.Clicked += (s, e) => SelectPage(page3); //scrollView.SetContentSize(800, 1000); mainWindow.Resize += (s, e) => Refresh(); SelectPage(page2); mainWindow.Show(); NSApplication.SharedApplication.ActivateIgnoringOtherApps(true); NSApplication.SharedApplication.Run(); }
public override void OnViewModelLoadedOverride() { Title = ViewModel.State == AddHomeworkViewModel.OperationState.Adding ? ViewModel.Type == AddHomeworkViewModel.ItemType.Homework ? "Add Task" : "Add Event" : ViewModel.Type == AddHomeworkViewModel.ItemType.Homework ? "Edit Task" : "Edit Event"; AddTopSectionDivider(); AddTextField(new UITextField() { Placeholder = "Name", ReturnKeyType = UIReturnKeyType.Done, EnablesReturnKeyAutomatically = true }, nameof(ViewModel.Name), firstResponder: ViewModel.State == AddHomeworkViewModel.OperationState.Adding); AddDivider(); var dateContainer = new UIStackView() { Axis = UILayoutConstraintAxis.Vertical }; { var datePicker = new BareUIInlineDatePicker(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false }; BindingHost.SetDateBinding(datePicker, nameof(ViewModel.Date)); dateContainer.AddArrangedSubview(datePicker); datePicker.StretchWidth(dateContainer); datePicker.SetHeight(44); AddDivider(dateContainer); } AddUnderVisiblity(dateContainer, nameof(ViewModel.IsDatePickerVisible)); var classContainer = new UIStackView() { Axis = UILayoutConstraintAxis.Vertical }; { var pickerClass = new BareUIInlinePickerView(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false, HeaderText = "Class", ItemToViewConverter = ConvertClassToInlineView }; BindingHost.SetItemsSourceBinding(pickerClass, nameof(ViewModel.Classes)); BindingHost.SetSelectedItemBinding(pickerClass, nameof(ViewModel.Class)); classContainer.AddArrangedSubview(pickerClass); pickerClass.StretchWidth(classContainer); pickerClass.SetHeight(44); AddDivider(classContainer); } AddUnderVisiblity(classContainer, nameof(ViewModel.IsClassPickerVisible)); var gradeWeightContainer = new UIStackView() { Axis = UILayoutConstraintAxis.Vertical }; { var pickerGradeWeight = new BareUIInlinePickerView(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false, HeaderText = "Grade Category" }; BindingHost.SetItemsSourceBinding(pickerGradeWeight, nameof(ViewModel.WeightCategories)); BindingHost.SetSelectedItemBinding(pickerGradeWeight, nameof(ViewModel.SelectedWeightCategory)); gradeWeightContainer.AddArrangedSubview(pickerGradeWeight); pickerGradeWeight.StretchWidth(gradeWeightContainer); pickerGradeWeight.SetHeight(44); AddDivider(gradeWeightContainer); } AddUnderVisiblity(gradeWeightContainer, nameof(ViewModel.IsWeightCategoryPickerVisible)); var pickerTime = new BareUIInlinePickerView(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false, HeaderText = "Time" }; BindingHost.SetItemsSourceBinding(pickerTime, nameof(ViewModel.TimeOptions)); BindingHost.SetSelectedItemBinding(pickerTime, nameof(ViewModel.SelectedTimeOption)); StackView.AddArrangedSubview(pickerTime); pickerTime.StretchWidth(StackView); pickerTime.SetHeight(44); var stackViewPickerCustomTime = new UIStackView() { Axis = UILayoutConstraintAxis.Vertical }; AddDivider(stackViewPickerCustomTime); if (ViewModel.Type == AddHomeworkViewModel.ItemType.Homework) { var pickerDueTime = new BareUIInlineTimePicker(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false, HeaderText = "Due Time" }; BindingHost.SetTimeBinding(pickerDueTime, nameof(ViewModel.StartTime)); stackViewPickerCustomTime.AddArrangedSubview(pickerDueTime); pickerDueTime.StretchWidth(stackViewPickerCustomTime); pickerDueTime.SetHeight(44); } else { var pickerStartTime = new BareUIInlineTimePicker(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false, HeaderText = "Start Time" }; BindingHost.SetTimeBinding(pickerStartTime, nameof(ViewModel.StartTime)); stackViewPickerCustomTime.AddArrangedSubview(pickerStartTime); pickerStartTime.StretchWidth(stackViewPickerCustomTime); pickerStartTime.SetHeight(44); AddDivider(stackViewPickerCustomTime); var pickerEndTime = new BareUIInlineTimePicker(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false, HeaderText = "End Time" }; BindingHost.SetTimeBinding(pickerEndTime, nameof(ViewModel.EndTime)); stackViewPickerCustomTime.AddArrangedSubview(pickerEndTime); pickerEndTime.StretchWidth(stackViewPickerCustomTime); pickerEndTime.SetHeight(44); } var pickerCustomTimeContainer = new BareUIVisibilityContainer() { Child = stackViewPickerCustomTime }; BindingHost.SetVisibilityBinding(pickerCustomTimeContainer, nameof(ViewModel.IsStartTimePickerVisible)); StackView.AddArrangedSubview(pickerCustomTimeContainer); pickerCustomTimeContainer.StretchWidth(StackView); AddSectionDivider(); var detailsView = new BareUITextView() { TranslatesAutoresizingMaskIntoConstraints = false, Placeholder = "Details" }; BindingHost.SetTextViewTextBinding(detailsView.TextView, nameof(ViewModel.Details)); StackView.AddArrangedSubview(detailsView); detailsView.StretchWidth(StackView); detailsView.SetHeight(130); if (ViewModel.IsRepeatsVisible) { AddSectionDivider(); var switchRepeats = new BareUISwitch() { TranslatesAutoresizingMaskIntoConstraints = false, Header = PowerPlannerResources.GetString("RepeatingEntry_CheckBoxRepeats.Content") }; BindingHost.SetSwitchBinding(switchRepeats, nameof(ViewModel.Repeats)); StackView.AddArrangedSubview(switchRepeats); switchRepeats.StretchWidth(StackView); switchRepeats.SetHeight(44); StackView.AddUnderLazyVisibility(BindingHost, nameof(ViewModel.Repeats), delegate { var recurrenceContainer = new UIStackView() { Axis = UILayoutConstraintAxis.Vertical }; { recurrenceContainer.AddDivider(); var tryForFreeContainer = new UIStackView() { Axis = UILayoutConstraintAxis.Vertical }; { tryForFreeContainer.AddSpacing(16); var tryForFreeLabel = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = PowerPlannerResources.GetString("RepeatingEntry_TextBlockTryForFree.Text"), Font = UIFont.PreferredCaption1, TextColor = UIColor.Red, Lines = 0 }; tryForFreeContainer.AddArrangedSubview(tryForFreeLabel); tryForFreeLabel.StretchWidth(tryForFreeContainer, left: 16, right: 16); tryForFreeContainer.AddSpacing(16); tryForFreeContainer.AddDivider(); } recurrenceContainer.AddUnderVisiblity(tryForFreeContainer, BindingHost, nameof(ViewModel.ShowRepeatingPremiumTrial)); var mustUpgradeContainer = new UIStackView() { Axis = UILayoutConstraintAxis.Vertical }; { mustUpgradeContainer.AddSpacing(16); var mustUpgradeLabel = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = PowerPlannerResources.GetString("RepeatingEntry_TextBlockMustUpgrade.Text"), Font = UIFont.PreferredCaption1, TextColor = UIColor.Red, Lines = 0 }; mustUpgradeContainer.AddArrangedSubview(mustUpgradeLabel); mustUpgradeLabel.StretchWidth(mustUpgradeContainer, left: 16, right: 16); mustUpgradeContainer.AddSpacing(8); var buttonUpgrade = PowerPlannerUIHelper.CreatePowerPlannerBlueButton(PowerPlannerResources.GetString("Settings_UpgradeToPremium_ButtonUpgrade.Content")); buttonUpgrade.TranslatesAutoresizingMaskIntoConstraints = false; buttonUpgrade.TouchUpInside += new WeakEventHandler <EventArgs>(delegate { ViewModel.UpgradeToPremiumForRepeating(); }).Handler; mustUpgradeContainer.AddArrangedSubview(buttonUpgrade); buttonUpgrade.StretchWidth(mustUpgradeContainer, left: 16, right: 16); mustUpgradeContainer.AddSpacing(16); mustUpgradeContainer.AddDivider(); } recurrenceContainer.AddUnderVisiblity(mustUpgradeContainer, BindingHost, nameof(ViewModel.ShowRepeatingMustUpgradeToPremium)); var recurrenceView = new UIRecurrenceView(this) { TranslatesAutoresizingMaskIntoConstraints = false, ViewModel = ViewModel.RecurrenceControlViewModel }; BindingHost.SetIsEnabledBinding(recurrenceView, nameof(ViewModel.IsRepeatingEntryEnabled)); recurrenceContainer.AddArrangedSubview(recurrenceView); recurrenceView.StretchWidth(recurrenceContainer); recurrenceContainer.AddDivider(); recurrenceContainer.AddSpacing(16); var labelNoteCannotBulkEdit = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = PowerPlannerResources.GetString("RepeatingEntry_TextBlockNoteCannotBulkEdit.Text"), Font = UIFont.PreferredCaption1, TextColor = UIColor.LightGray, Lines = 0 }; recurrenceContainer.AddArrangedSubview(labelNoteCannotBulkEdit); labelNoteCannotBulkEdit.StretchWidth(recurrenceContainer, left: 16, right: 16); recurrenceContainer.AddSpacing(16); } return(recurrenceContainer); }); } AddBottomSectionDivider(); BackButtonText = "Cancel"; PositiveNavBarButton = new PopupRightNavBarButtonItem("Save", delegate { Save(); }); base.OnViewModelLoadedOverride(); }
void ReleaseDesignerOutlets() { if (CloseButton != null) { CloseButton.Dispose(); CloseButton = null; } if (DatePicker != null) { DatePicker.Dispose(); DatePicker = null; } if (DatePickerContainer != null) { DatePickerContainer.Dispose(); DatePickerContainer = null; } if (DurationInput != null) { DurationInput.Dispose(); DurationInput = null; } if (EndDateLabel != null) { EndDateLabel.Dispose(); EndDateLabel = null; } if (EndLabel != null) { EndLabel.Dispose(); EndLabel = null; } if (EndTimeLabel != null) { EndTimeLabel.Dispose(); EndTimeLabel = null; } if (EndView != null) { EndView.Dispose(); EndView = null; } if (SaveButton != null) { SaveButton.Dispose(); SaveButton = null; } if (SetEndButton != null) { SetEndButton.Dispose(); SetEndButton = null; } if (StackView != null) { StackView.Dispose(); StackView = null; } if (StartDateLabel != null) { StartDateLabel.Dispose(); StartDateLabel = null; } if (StartLabel != null) { StartLabel.Dispose(); StartLabel = null; } if (StartTimeLabel != null) { StartTimeLabel.Dispose(); StartTimeLabel = null; } if (StartView != null) { StartView.Dispose(); StartView = null; } if (TitleLabel != null) { TitleLabel.Dispose(); TitleLabel = null; } if (WheelView != null) { WheelView.Dispose(); WheelView = null; } if (startIcon != null) { startIcon.Dispose(); startIcon = null; } if (endIcon != null) { endIcon.Dispose(); endIcon = null; } }
void ReleaseDesignerOutlets() { if (ButtonNext != null) { ButtonNext.Dispose(); ButtonNext = null; } if (DependsSpace != null) { DependsSpace.Dispose(); DependsSpace = null; } if (LabelAfter != null) { LabelAfter.Dispose(); LabelAfter = null; } if (LabelEvery != null) { LabelEvery.Dispose(); LabelEvery = null; } if (LabelTake != null) { LabelTake.Dispose(); LabelTake = null; } if (LabelUnits != null) { LabelUnits.Dispose(); LabelUnits = null; } if (PickerIntervallType != null) { PickerIntervallType.Dispose(); PickerIntervallType = null; } if (PickerViewMedis != null) { PickerViewMedis.Dispose(); PickerViewMedis = null; } if (StackView != null) { StackView.Dispose(); StackView = null; } if (TextFieldDosage != null) { TextFieldDosage.Dispose(); TextFieldDosage = null; } if (TextFieldIntervall != null) { TextFieldIntervall.Dispose(); TextFieldIntervall = null; } }
public EditClassWeightCategoriesViewController() { Title = "Weight Categories"; var cancelButton = new UIBarButtonItem() { Title = "Cancel" }; cancelButton.Clicked += new WeakEventHandler <EventArgs>(CancelButton_Clicked).Handler; NavigationItem.LeftBarButtonItem = cancelButton; var saveButton = new UIBarButtonItem() { Title = "Save" }; saveButton.Clicked += new WeakEventHandler <EventArgs>(SaveButton_Clicked).Handler; NavigationItem.RightBarButtonItem = saveButton; PowerPlannerUIHelper.ConfigureForInputsStyle(this); // No save/cancel button, implicitly saves when going back or exiting StackView.AddTopSectionDivider(); var headerView = new UIView() { TranslatesAutoresizingMaskIntoConstraints = false }; { var labelName = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = "Name", Font = UIFont.PreferredBody.Bold() }; headerView.Add(labelName); labelName.StretchHeight(headerView, top: 8, bottom: 8); var labelWeight = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = "Weight", Font = UIFont.PreferredBody.Bold() }; headerView.Add(labelWeight); labelWeight.StretchHeight(headerView, top: 8, bottom: 8); headerView.AddConstraints(NSLayoutConstraint.FromVisualFormat("H:|[name][weight(60)]-52-|", NSLayoutFormatOptions.DirectionLeadingToTrailing, "name", labelName, "weight", labelWeight)); } StackView.AddArrangedSubview(headerView); headerView.StretchWidth(StackView, left: 16, right: 16); StackView.AddDivider(); var weightsView = new UIView() { TranslatesAutoresizingMaskIntoConstraints = false }; { _itemsSourceWeights = new BareUIViewItemsSourceAdapterAsStackPanel(weightsView, (w) => { return(new UIEditingWeightCategoryView(this) { DataContext = w }); }); } StackView.AddArrangedSubview(weightsView); weightsView.StretchWidth(StackView, left: 16); var buttonDelete = new UIButton(UIButtonType.System) { TranslatesAutoresizingMaskIntoConstraints = false }; buttonDelete.SetTitle("Add Category", UIControlState.Normal); buttonDelete.TouchUpInside += new WeakEventHandler(delegate { ViewModel.AddWeightCategory(); }).Handler; StackView.AddArrangedSubview(buttonDelete); buttonDelete.StretchWidth(StackView); buttonDelete.SetHeight(44); StackView.AddBottomSectionDivider(); }
public void UpdateBindings() { content.Items.Clear(); var tipButton = new BindingDisplay(App.Settings?.TipButton) { MinimumSize = new Size(300, 0) }; tipButton.BindingUpdated += (sender, binding) => App.Settings.TipButton = binding; var tipPressure = new PressureSlider( "Tip Pressure", () => App.Settings.TipActivationPressure, (v) => App.Settings.TipActivationPressure = v ); var tipSettingsStack = new StackView { Items = { new Group("Tip Button", tipButton, Orientation.Horizontal, false), tipPressure } }; var tipSettings = new Group("Tip Bindings", tipSettingsStack); var penBindingsStack = new StackView(); for (int i = 0; i < App.Settings?.PenButtons.Count; i++) { var penBinding = new BindingDisplay(App.Settings?.PenButtons[i]) { MinimumSize = new Size(300, 0), Tag = i }; penBinding.BindingUpdated += (sender, binding) => { var index = (int)(sender as BindingDisplay).Tag; App.Settings.PenButtons[index] = binding; }; var penBindingGroup = new Group($"Pen Button {i + 1}", penBinding, Orientation.Horizontal, false); penBindingsStack.AddControl(penBindingGroup); } var penBindingSettings = new Group("Pen Button Bindings", penBindingsStack); var penSettings = new StackLayout { Orientation = Orientation.Horizontal, VerticalContentAlignment = VerticalAlignment.Stretch, Items = { new StackLayoutItem(tipSettings, true), new StackLayoutItem(penBindingSettings, true) } }; content.AddControl(penSettings); var auxBindingsStack = new StackView(); for (int i = 0; i < App.Settings?.AuxButtons.Count; i++) { var auxBinding = new BindingDisplay(App.Settings?.AuxButtons[i]) { MinimumSize = new Size(300, 0), Tag = i }; auxBinding.BindingUpdated += (sender, Binding) => { var index = (int)(sender as BindingDisplay).Tag; App.Settings.AuxButtons[index] = Binding; }; var auxBindingGroup = new Group($"Auxiliary Button {i + 1}", auxBinding, Orientation.Horizontal, false); auxBindingsStack.AddControl(auxBindingGroup); } var auxBindingSettings = new Group("Auxiliary Button Bindings", auxBindingsStack) { TitleHorizontalAlignment = HorizontalAlignment.Center }; content.AddControl(auxBindingSettings); }
public override void OnViewModelLoadedOverride() { AddTopSectionDivider(); _errorContainer = new BareUIVisibilityContainer() { TranslatesAutoresizingMaskIntoConstraints = false, IsVisible = false }; { var stackViewIncorrect = new UIStackView() { Axis = UILayoutConstraintAxis.Vertical }; stackViewIncorrect.AddArrangedSubview(new UIView() { TranslatesAutoresizingMaskIntoConstraints = false }.SetHeight(8)); _labelError = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = "Error", Lines = 0, TextColor = UIColor.Red }; stackViewIncorrect.AddArrangedSubview(_labelError); _labelError.StretchWidth(stackViewIncorrect, left: 16, right: 16); stackViewIncorrect.AddArrangedSubview(new UIView() { TranslatesAutoresizingMaskIntoConstraints = false }.SetHeight(8)); AddDivider(stackViewIncorrect); _errorContainer.Child = stackViewIncorrect; } StackView.AddArrangedSubview(_errorContainer); _errorContainer.StretchWidth(StackView); var textField = new UITextField() { Placeholder = "New username", AutocapitalizationType = UITextAutocapitalizationType.None, AutocorrectionType = UITextAutocorrectionType.No, KeyboardType = UIKeyboardType.ASCIICapable, ReturnKeyType = UIReturnKeyType.Done }; textField.AddTarget(new WeakEventHandler <EventArgs>(delegate { _errorContainer.IsVisible = false; }).Handler, UIControlEvent.EditingChanged); AddTextField(textField, nameof(ViewModel.Username), firstResponder: true); AddSectionDivider(); var buttonContinue = new UIButton(UIButtonType.System) { TranslatesAutoresizingMaskIntoConstraints = false }; buttonContinue.TouchUpInside += new WeakEventHandler <EventArgs>(delegate { ViewModel.Update(); }).Handler; buttonContinue.SetTitle("Update Username", UIControlState.Normal); StackView.AddArrangedSubview(buttonContinue); buttonContinue.StretchWidth(StackView); buttonContinue.SetHeight(44); AddBottomSectionDivider(); ViewModel.ActionError += new WeakEventHandler <string>(ViewModel_ActionError).Handler; BindingHost.SetBinding(nameof(ViewModel.IsUpdatingUsername), delegate { IsLoadingOverlayVisible = ViewModel.IsUpdatingUsername; }); base.OnViewModelLoadedOverride(); }
public override void ViewDidLoad() { base.ViewDidLoad(); View.BackgroundColor = UIColor.Black; Title = Strings.Menu; _imgBackground = new UIImageView(UIImage.FromBundle("Background.jpg")) { //ContentMode = UIViewContentMode. }; _options = new StackView { Axis = UILayoutConstraintAxis.Vertical }; _lineHeaderTop = new UIView { BackgroundColor = UIColor.White }; _lineHeaderBottom = new UIView { BackgroundColor = UIColor.White }; _imgHeaderBackground = new UIImageView(UIImage.FromBundle("menu_header_background")) { ContentMode = UIViewContentMode.ScaleAspectFit }; _imgHeaderProfile = new UIImageView(UIImage.FromBundle("profile")) { BackgroundColor = UIColor.Black, ContentMode = UIViewContentMode.ScaleAspectFit, ClipsToBounds = true }; _imgHeaderProfile.Layer.CornerRadius = PROFILE_IMAGE_SIZE / 2; _lblHeaderName = new UILabel { Font = UIFont.SystemFontOfSize(22f, UIFontWeight.Bold), TextColor = UIColor.White, Text = "Darth Vader" }; _optionStatistics = new MenuOption(); _optionStatistics.Image.Image = UIImage.FromBundle("ic_statistics"); _optionStatistics.Label.Text = Strings.Statistics; _optionOther1 = new MenuOption(); _optionOther1.Image.Image = UIImage.FromBundle("ic_another_option"); _optionOther1.Label.Text = Strings.AnotherOption; _optionOther2 = new MenuOption(); _optionOther2.Image.Image = UIImage.FromBundle("ic_another_option"); _optionOther2.Label.Text = Strings.AnotherOption; View.AddSubviews(_imgBackground, _lineHeaderTop, _imgHeaderBackground, _lineHeaderBottom, _imgHeaderProfile, _lblHeaderName, _options); View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints(); _options.AddArrangedSubview(_optionStatistics); _options.AddArrangedSubview(_optionOther1); _options.AddArrangedSubview(_optionOther2); View.AddConstraints( _imgBackground.AtLeftOf(View), _imgBackground.AtTopOf(View), _imgBackground.AtBottomOf(View), _imgBackground.AtRightOf(View), _lineHeaderTop.AtLeftOf(View), _lineHeaderTop.AtTopOf(View), _lineHeaderTop.AtRightOf(View), _lineHeaderTop.Height().EqualTo(.5f), _imgHeaderBackground.Below(_lineHeaderTop), _imgHeaderBackground.AtLeftOf(View), _imgHeaderBackground.AtRightOf(View), _imgHeaderBackground.Height().EqualTo(180f), _lineHeaderBottom.Below(_imgHeaderBackground), _lineHeaderBottom.AtLeftOf(View), _lineHeaderBottom.AtRightOf(View), _lineHeaderBottom.Height().EqualTo(.5f), _imgHeaderProfile.WithSameCenterX(_imgHeaderBackground), _imgHeaderProfile.WithSameCenterY(_imgHeaderBackground).Minus(20f), _imgHeaderProfile.Width().EqualTo(PROFILE_IMAGE_SIZE), _imgHeaderProfile.Height().EqualTo(PROFILE_IMAGE_SIZE), _lblHeaderName.WithSameCenterX(_imgHeaderBackground), _lblHeaderName.Below(_imgHeaderProfile), _options.Below(_lineHeaderBottom), _options.AtLeftOf(View), _options.AtRightOf(View) ); var set = this.CreateBindingSet <MenuView, MenuViewModel>(); set.Bind(_optionStatistics.Tap()).For(g => g.Command).To(vm => vm.ShowStatusCommand); set.Apply(); }
public override void OnViewModelLoadedOverride() { base.OnViewModelLoadedOverride(); if (ViewModel.State == AddClassTimeViewModel.OperationState.Adding) { Title = "Add Time"; } else { Title = "Edit Times"; } BackButtonText = "Cancel"; PositiveNavBarButton = new PopupRightNavBarButtonItem("Save", delegate { ViewModel.Save(); }); AddTopSectionDivider(); if (ViewModel.IsInDifferentTimeZone) { AddSpacing(12); var timeZoneWarning = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = PowerPlannerResources.GetString("DifferentTimeZoneWarning.Text"), TextColor = UIColor.Red, Font = UIFont.PreferredCaption1, Lines = 0 }; StackView.AddArrangedSubview(timeZoneWarning); timeZoneWarning.StretchWidth(StackView, left: 16, right: 16); AddSpacing(12); AddSectionDivider(); } var timePickerFrom = new BareUIInlineTimePicker(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false, HeaderText = "From" }; BindingHost.SetTimeBinding(timePickerFrom, nameof(ViewModel.StartTime)); StackView.AddArrangedSubview(timePickerFrom); timePickerFrom.StretchWidth(StackView); timePickerFrom.SetHeight(44); AddDivider(); var timePickerTo = new BareUIInlineTimePicker(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false, HeaderText = "To" }; BindingHost.SetTimeBinding(timePickerTo, nameof(ViewModel.EndTime)); StackView.AddArrangedSubview(timePickerTo); timePickerTo.StretchWidth(StackView); timePickerTo.SetHeight(44); AddSectionDivider(); AddTextField(new UITextField() { Placeholder = "Room", ReturnKeyType = UIReturnKeyType.Default }, nameof(ViewModel.Room)); AddSectionDivider(); AddSwitch(DateTools.ToLocalizedString(DayOfWeek.Monday), nameof(ViewModel.IsMondayChecked)); AddDivider(); AddSwitch(DateTools.ToLocalizedString(DayOfWeek.Tuesday), nameof(ViewModel.IsTuesdayChecked)); AddDivider(); AddSwitch(DateTools.ToLocalizedString(DayOfWeek.Wednesday), nameof(ViewModel.IsWednesdayChecked)); AddDivider(); AddSwitch(DateTools.ToLocalizedString(DayOfWeek.Thursday), nameof(ViewModel.IsThursdayChecked)); AddDivider(); AddSwitch(DateTools.ToLocalizedString(DayOfWeek.Friday), nameof(ViewModel.IsFridayChecked)); AddDivider(); AddSwitch(DateTools.ToLocalizedString(DayOfWeek.Saturday), nameof(ViewModel.IsSaturdayChecked)); AddDivider(); AddSwitch(DateTools.ToLocalizedString(DayOfWeek.Sunday), nameof(ViewModel.IsSundayChecked)); AddSectionDivider(); var pickerWeek = new BareUIInlinePickerView(this, left: 16, right: 16) { TranslatesAutoresizingMaskIntoConstraints = false, HeaderText = "Week", ItemsSource = ViewModel.AvailableScheduleWeekStrings }; BindingHost.SetSelectedItemBinding(pickerWeek, nameof(ViewModel.ScheduleWeekString)); StackView.AddArrangedSubview(pickerWeek); pickerWeek.StretchWidth(StackView); pickerWeek.SetHeight(44); AddDivider(); AddSpacing(6); var weekExplanation = new UILabel() { TranslatesAutoresizingMaskIntoConstraints = false, Text = PowerPlannerResources.GetString("EditingClassScheduleItemView_TextBlockWeekDescription.Text"), Lines = 0, Font = UIFont.PreferredCaption1, TextColor = UIColor.LightGray }; StackView.AddArrangedSubview(weekExplanation); weekExplanation.StretchWidth(StackView, 16, 16); AddSpacing(12); AddSectionDivider(); AddDeleteButtonWithConfirmation("Delete Class Times", ViewModel.Delete, "Delete class times?", "Are you sure you want to delete these class times?"); AddBottomSectionDivider(); }