Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        /// <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;
        }
Ejemplo n.º 3
0
		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);
        }
Ejemplo n.º 5
0
        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();
        }
Ejemplo n.º 6
0
        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();
        }