Пример #1
0
        public override void InitializeAllControls()
        {
            Title = Strings.MenuLabel;
            NavigationItem.SetHidesBackButton(false, false);

            _logoutOption   = new MenuOptionView();
            _settingsOption = new MenuOptionView();

            CGSize profilePhotoSize = imviewProfile.Layer.PreferredFrameSize();

            imviewProfile.Layer.CornerRadius  = profilePhotoSize.Height / 2;
            imviewProfile.Layer.MasksToBounds = true;

            _logoutOption.Label.Text   = Strings.LogoutLabel;
            _settingsOption.Label.Text = Strings.SettingsLabel;

            stviewMenuItems.AddArrangedSubview(_settingsOption);
            stviewMenuItems.AddArrangedSubview(_logoutOption);
        }
Пример #2
0
		public ApplicationMenuRow()
			: base(FlowDirection.LeftToRight)
		{
			linkButtonFactory.textColor = ActiveTheme.Instance.PrimaryTextColor;
			linkButtonFactory.fontSize = 8;

			Button signInLink = linkButtonFactory.Generate("(Sign Out)");
			signInLink.VAnchor = Agg.UI.VAnchor.ParentCenter;
			signInLink.Margin = new BorderDouble(top: 0);

			this.HAnchor = HAnchor.ParentLeftRight;
			this.BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor;

			// put in the file menu
			MenuOptionFile menuOptionFile = new MenuOptionFile();
			this.AddChild(menuOptionFile);

#if false
			// put in the view menu
			MenuOptionView menuOptionView = new MenuOptionView();
			this.AddChild(menuOptionView);
#endif
			MenuOptionSettings menuOptionSettings = new MenuOptionSettings();
			this.AddChild(menuOptionSettings);

			// put in the help menu
			MenuOptionHelp menuOptionHelp = new MenuOptionHelp();
			this.AddChild(menuOptionHelp);

			linkButtonFactory.textColor = RGBA_Bytes.Red;
			linkButtonFactory.fontSize = 10;

			Button updateStatusMessage = linkButtonFactory.Generate("Update Available");
			UpdateControlData.Instance.UpdateStatusChanged.RegisterEvent(SetUpdateNotification, ref unregisterEvents);
			popUpAboutPage = new GuiWidget();
			popUpAboutPage.Margin = new BorderDouble(30, 0, 0, 0);
			popUpAboutPage.HAnchor = HAnchor.FitToChildren;
			popUpAboutPage.VAnchor = VAnchor.FitToChildren | VAnchor.ParentCenter;
			popUpAboutPage.AddChild(updateStatusMessage);
			updateStatusMessage.Click += (sender, e) =>
			{
				UiThread.RunOnIdle((state) =>
				{
					AboutWindow.Show();
				});
			};
			this.AddChild(popUpAboutPage);
			SetUpdateNotification(this, null);

			// put in a spacer
			this.AddChild(new HorizontalSpacer());

			// make an object that can hold custom content on the right (like the sign in)
			rightElement = new FlowLayoutWidget(FlowDirection.LeftToRight);
			rightElement.Height = 24;
			rightElement.Margin = new BorderDouble(bottom: 4);
			this.AddChild(rightElement);

			this.Padding = new BorderDouble(0, 0, 6, 0);

			if (privateAddRightElement != null)
			{
				privateAddRightElement(rightElement);
			}
		}