public LogAgentPanelWidget() { BinContainer.Attach(this); var reportingLabel = GettextCatalog.GetString("Report errors and usage information to help {0} improve my experience.", BrandingService.SuiteName); var value = LoggingService.ReportUsage; chkUsage = new CheckButton(reportingLabel); if (value.HasValue) { chkUsage.Active = value.Value; } chkUsage.Toggled += (sender, e) => reportUsage = chkUsage.Active; container = new Gtk.VBox(); container.PackStart(chkUsage, false, false, 0); var privacyStatement = BrandingService.PrivacyStatement; if (!string.IsNullOrEmpty(privacyStatement)) { var privacyLabel = new Xwt.Label { Markup = privacyStatement, Wrap = Xwt.WrapMode.Word }; container.Add(new HBox()); container.PackEnd(privacyLabel.ToGtkWidget(), false, false, 30); } Add(container); ShowAll(); }
/// <summary>Apply the specified selector (style) to the specified widget</summary> /// <param name="Widget">The widget that should "got" the style</param> /// <param name="Selector">The specified selector with the desired style</param> public void ApplyStyle(Xwt.Label Widget, mucss.Selector Selector) { if (Selector.Declarations["background-color"].Value != "inherit") { Widget.BackgroundColor = Utilities.GetXwtColor( Selector.Declarations["background-color"].Value ); } if (Selector.Declarations["color"].Value != "inherit") { Widget.TextColor = Utilities.GetXwtColor( Selector.Declarations["color"].Value ); } if (Selector.Declarations["font-family"].Value != "inherit") { Widget.Font = Xwt.Drawing.Font.FromName( Selector.Declarations["font-family"].Value ); } Widget.Visible = Selector.Declarations["display"].Value == "none" ? false : true; }
public LogAgentPanelWidget () { global::Stetic.BinContainer.Attach (this); var reportingLabel = GettextCatalog.GetString ("Report errors and usage information to help {0} improve my experience.", BrandingService.SuiteName); var value = LoggingService.ReportUsage; chkUsage = new CheckButton (reportingLabel); if (value.HasValue) chkUsage.Active = value.Value; chkUsage.Toggled += (sender, e) => reportUsage = chkUsage.Active; container = new Gtk.VBox (); container.PackStart (chkUsage, false, false, 0); var privacyStatement = BrandingService.PrivacyStatement; if (!string.IsNullOrEmpty (privacyStatement)) { var privacyLabel = new Xwt.Label { Markup = privacyStatement, Wrap = Xwt.WrapMode.Word }; container.Add (new HBox ()); container.PackEnd (privacyLabel.ToGtkWidget (), false, false, 30); } Add (container); ShowAll (); }
public TView CreateViewElement <TView>(ITextView textView, object model) where TView : class { // Should never happen if the service's code is correct, but it's good to be paranoid. if (typeof(TView) != typeof(UIElement) || !(model is ClassifiedTextElement element)) { throw new ArgumentException($"Invalid type conversion. Unsupported {nameof(model)} or {nameof(TView)} type"); } var textBlock = new Xwt.Label(); StringBuilder markup = new StringBuilder(); foreach (var run in element.Runs) { var textRunClassification = this.classificationTypeRegistryService.GetClassificationType(run.ClassificationTypeName); //var wpfRun = new Run() //{ // // Set colors from the specific classification type's text run properties. // Background = viewTextRunProperties.BackgroundBrush, // BaselineAlignment = viewTextRunProperties.BaselineAlignment, // Foreground = viewTextRunProperties.ForegroundBrush, // Text = run.Text, // TextDecorations = viewTextRunProperties.TextDecorations, // TextEffects = viewTextRunProperties.TextEffects, // // Set font properties from Editor Tooltips category so we match other tooltips. // FontSize = tooltipTextRunProperties.FontRenderingEmSize, // FontFamily = tooltipTextRunProperties.Typeface.FontFamily, // FontStretch = tooltipTextRunProperties.Typeface.Stretch, // FontStyle = tooltipTextRunProperties.Typeface.Style, // FontWeight = tooltipTextRunProperties.Typeface.Weight //}; var classy = textRunClassification.Classification; var color = classy.GetHashCode().ToString("X"); color = color.Substring(2); markup.Append($"<span foreground=\"#{color}\">{run.Text}</span>"); } textBlock.Markup = markup.ToString(); return(textBlock as TView); }
public AboutMonoDevelopTabPage() { BorderWidth = 0; var aboutFile = BrandingService.GetFile(AboutDialogImage.Name); if (aboutFile != null) { imageSep = Xwt.Drawing.Image.FromFile(aboutFile); } else { imageSep = Xwt.Drawing.Image.FromResource(AboutDialogImage.Name); } var iv = new ImageView(imageSep); iv.SetCommonAccessibilityAttributes("AboutImage", BrandingService.ApplicationLongName, ""); PackStart(iv, false, false, 0); Xwt.VBox infoBox = new Xwt.VBox(); Xwt.FrameBox mbox = new Xwt.FrameBox(infoBox); infoBox.Spacing = 6; infoBox.Margin = 12; PackStart(mbox.ToGtkWidget(), false, false, 0); infoBox.PackStart(new Xwt.Label() { Markup = string.Format("<b>{0}</b>", GettextCatalog.GetString("Version")), MarginTop = 6, }); infoBox.PackStart(new Xwt.Label() { Text = IdeVersionInfo.MonoDevelopVersion, MarginLeft = 12 }); if (BrandingService.LicenseTermsUrl != null) { infoBox.PackStart(new Xwt.Label() { Markup = string.Format("<b>{0}</b>", GettextCatalog.GetString("License")), MarginTop = 6, }); var linkLabel = new Xwt.Label { Markup = "<span underline='true'>License Terms</span>", Cursor = Xwt.CursorType.Hand, MarginLeft = 12 }; if (IdeTheme.UserInterfaceTheme == Theme.Light) { linkLabel.Markup = string.Format("<span color='#5C2D91'>{0}</span>", linkLabel.Markup); } linkLabel.ButtonReleased += (sender, e) => DesktopService.ShowUrl(BrandingService.LicenseTermsUrl); infoBox.PackStart(linkLabel); if (BrandingService.PrivacyStatementUrl != null) { linkLabel = new Xwt.Label { Markup = string.Format("<span underline='true'>{0}</span>", GettextCatalog.GetString("Privacy Statement")), Cursor = Xwt.CursorType.Hand, MarginLeft = 12 }; if (IdeTheme.UserInterfaceTheme == Theme.Light) { linkLabel.Markup = string.Format("<span color='#5C2D91'>{0}</span>", linkLabel.Markup); } linkLabel.ButtonReleased += (sender, e) => DesktopService.ShowUrl(BrandingService.PrivacyStatementUrl); infoBox.PackStart(linkLabel); } } infoBox.PackStart(new Xwt.Label() { Markup = string.Format("<b>{0}</b>", GettextCatalog.GetString("Copyright")), MarginTop = 6, }); infoBox.PackStart(new Xwt.Label() { Text = (DateTime.Now.Year == 2016 ? "© 2016" : "© 2016–" + DateTime.Now.Year) + " Microsoft Corp.", MarginLeft = 12 }); infoBox.PackStart(new Xwt.Label() { Text = "© 2004–" + DateTime.Now.Year + " Xamarin Inc.", MarginLeft = 12 }); infoBox.PackStart(new Xwt.Label() { Text = "© 2004–" + DateTime.Now.Year + " MonoDevelop contributors", MarginLeft = 12 }); this.ShowAll(); }
public AboutMonoDevelopTabPage() { BorderWidth = 0; var aboutFile = BrandingService.GetFile(AboutDialogImage.Name); if (aboutFile != null) { imageSep = Xwt.Drawing.Image.FromFile(aboutFile); } else { imageSep = Xwt.Drawing.Image.FromResource(AboutDialogImage.Name); } PackStart(new ImageView(imageSep), false, false, 0); Xwt.VBox infoBox = new Xwt.VBox(); Xwt.FrameBox mbox = new Xwt.FrameBox(infoBox); infoBox.Spacing = 6; infoBox.Margin = 12; PackStart(mbox.ToGtkWidget(), false, false, 0); infoBox.PackStart(new Xwt.Label() { Markup = string.Format("<b>{0}</b>", GettextCatalog.GetString("Version")), MarginTop = 6, }); infoBox.PackStart(new Xwt.Label() { Text = IdeVersionInfo.MonoDevelopVersion, MarginLeft = 12 }); infoBox.PackStart(new Xwt.Label() { Markup = string.Format("<b>{0}</b>", GettextCatalog.GetString("License")), MarginTop = 6, }); var cbox = new Xwt.HBox() { Spacing = 0, MarginLeft = 12 }; var linkLabel = new Xwt.Label { Markup = "<span underline='true'>License Terms</span>", Cursor = Xwt.CursorType.Hand, }; if (IdeTheme.UserInterfaceTheme == Theme.Light) { linkLabel.Markup = string.Format("<span color='#5C2D91'>{0}</span>", linkLabel.Markup); } linkLabel.ButtonReleased += (sender, e) => { var binDir = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location); string licensePath = System.IO.Path.Combine(binDir, "branding", "License.txt"); if (Platform.IsMac) { var appDir = System.IO.Path.GetFullPath(System.IO.Path.Combine(binDir, "..", "..", "..", "..", "..")); if (appDir.EndsWith(".app", StringComparison.Ordinal)) { licensePath = System.IO.Path.Combine(appDir, "Contents", "License.txt"); } } if (!File.Exists(licensePath)) { MessageService.ShowError("License file is missing"); } else { DesktopService.OpenFile(licensePath); } }; cbox.PackStart(linkLabel); infoBox.PackStart(cbox); linkLabel = new Xwt.Label { Markup = string.Format("<span underline='true'>{0}</span>", GettextCatalog.GetString("Privacy Statement")), Cursor = Xwt.CursorType.Hand, MarginLeft = 12 }; //TODO: factor out const string PRIVACY_URL = "https://go.microsoft.com/fwlink/?LinkID=824704"; if (IdeTheme.UserInterfaceTheme == Theme.Light) { linkLabel.Markup = string.Format("<span color='#5C2D91'>{0}</span>", linkLabel.Markup); } linkLabel.ButtonReleased += (sender, e) => DesktopService.ShowUrl(PRIVACY_URL); infoBox.PackStart(linkLabel); infoBox.PackStart(new Xwt.Label() { Markup = string.Format("<b>{0}</b>", GettextCatalog.GetString("Copyright")), MarginTop = 6, }); infoBox.PackStart(new Xwt.Label() { Text = (DateTime.Now.Year == 2016 ? "© 2016" : "© 2016–" + DateTime.Now.Year) + " Microsoft Corp.", MarginLeft = 12 }); infoBox.PackStart(new Xwt.Label() { Text = "© 2004–" + DateTime.Now.Year + " Xamarin Inc.", MarginLeft = 12 }); infoBox.PackStart(new Xwt.Label() { Text = "© 2004–" + DateTime.Now.Year + " MonoDevelop contributors", MarginLeft = 12 }); this.ShowAll(); }