/// <summary> /// Creates a new instance of the <see cref="MainWindow"/> class, loading its interface definition from file. /// </summary> /// <returns>An instance of the main window widget.</returns> public static MainWindow Create() { var stylesProvider = new CssProvider(); Assembly.GetExecutingAssembly().GetManifestResourceStream("Launchpad.Launcher.Assets.img.bg.jpg"); using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Launchpad.Launcher.Interface.styles.css")) { if (stream != null) { using (var reader = new StreamReader(stream)) { stylesProvider.LoadFromData(reader.ReadToEnd()); } } } StyleContext.AddProviderForScreen(Screen.Default, stylesProvider, 800); using (var builder = new Builder(Assembly.GetExecutingAssembly(), "Launchpad.Launcher.Interface.Launchpad.glade", null)) { var window = new MainWindow(builder, builder.GetObject(nameof(MainWindow)).Handle) { Icon = ResourceManager.ApplicationIcon }; return(window); } }
public static void SetFontSize(this Label label, int fontSize) { var provider = new CssProvider(); provider.LoadFromData($"label {{ font-size: {fontSize}px; }}"); label.StyleContext.AddProvider(provider, Gtk.StyleProviderPriority.User); }
public GraphicalApp() { _model = CharlieModel.LoadFromFile(); // var accelGroup = new AccelGroup(); var provider = new CssProvider(); provider.LoadFromPath(GetResource("style.css")); StyleContext.AddProviderForScreen(Screen.Default, provider, 800); var window = new Window(WindowType.Toplevel) { DefaultWidth = _model.WindowWidth, DefaultHeight = _model.WindowHeight, Title = "", Role = "Charlie", Resizable = true }; window.Move(_model.WindowX, _model.WindowY); window.SetIconFromFile(GetResource("logo.png")); // window.AddAccelGroup(accelGroup); window.Destroyed += (sender, args) => Quit(); window.Show(); _window = window; window.Child = CreateRoot(); window.Child.ShowAll(); }
public CodeTabWidget(Class @class) { _keys = new List <Gdk.Key>(); base.Buffer = new SourceBuffer(new SourceLanguageManager().GetLanguage("objc")); _notebookTabLabel = new NotebookTabLabel(System.IO.Path.GetFileName(@class.Filename), this); this._file = @class; var css = new CssProvider(); css.LoadFromData(@" textview { font-family: Monospace; } "); Console.WriteLine($"Loading {@class.Filename}"); this.StyleContext.AddProvider(css, 1); this._temp = System.IO.Path.Combine(ProjectManager.Project.Path, "~" + @class.Filename); _actualText = File.ReadAllText(System.IO.Path.Combine(ProjectManager.Project.Path, @class.Filename)); Buffer.Text = _actualText; this.KeyPressEvent += Handle_KeyPressEvent; this.KeyReleaseEvent += Handle_KeyReleaseEvent; base.AutoIndent = true; base.ShowLineMarks = true; base.ShowLineNumbers = true; // base.HighlightCurrentLine = true; base.IndentOnTab = true; this._s = base.Buffer.Text; base.Buffer.Changed += this.Buffer_Changed; _diagnos = new Dictionary <ClangDiagnostic, TextTag>(); _t = new Thread(HandleParameterizedThreadStart); _t.Start(); }
public static void Play() { Application.Init(); var provider = new CssProvider(); provider.LoadFromPath(GetResource("playground.css")); StyleContext.AddProviderForScreen(Screen.Default, provider, 800); var buffer = File.ReadAllText(GetResource("playground.glade")); var builder = new Builder(); builder.AddFromString(buffer); var window = (ApplicationWindow)builder.GetObject("window"); var root = (Box)builder.GetObject("root"); var leftArea = (Box)builder.GetObject("left-area"); var rightArea = (Box)builder.GetObject("right-area"); root.SizeAllocated += (o, args) => { leftArea.Visible = args.Allocation.Width >= 700; }; var app = new PlaygroundApp(window.Handle); builder.Autoconnect(app); // var scrollArea = (Box)builder.GetObject("scrolled-window"); app.Init(); app.Show(); Application.Run(); }
public TraceBox(CssProvider css, ITrace trace) : this(new Builder("TraceBox.glade")) { this.css = css; Trace = trace; ShowAll(); this.ApplyCss(css); }
/// <summary> /// Recursively applies a new FontDescription to all widgets /// </summary> /// <param name="widget"></param> /// <param name="newFont"></param> private void SetWidgetFont(Widget widget, Pango.FontDescription newFont) { #if NETCOREAPP int sizePt = newFont.SizeIsAbsolute ? newFont.Size : Convert.ToInt32(newFont.Size / Pango.Scale.PangoScale); CssProvider provider = new CssProvider(); StringBuilder css = new StringBuilder(); css.AppendLine("* {"); css.AppendLine($"font-family: {newFont.Family};"); css.AppendLine($"font-size: {sizePt}pt;"); css.AppendLine($"font-style: {newFont.Style};"); css.AppendLine($"font-variant: {newFont.Variant};"); css.AppendLine($"font-weight: {newFont.Weight};"); css.AppendLine($"font-stretch: {newFont.Stretch};"); css.Append("}"); provider.LoadFromData(css.ToString()); window1.StyleContext.AddProvider(provider, StyleProviderPriority.Application); #else widget.ModifyFont(newFont); if (widget is Container) { foreach (Widget child in (widget as Container).Children) { SetWidgetFont(child, newFont); } if (widget is Notebook) { for (int i = 0; i < (widget as Notebook).NPages; i++) { SetWidgetFont((widget as Notebook).GetTabLabel((widget as Notebook).GetNthPage(i)), newFont); } } } #endif }
private MainWindow(Builder builder) : base(builder.GetObject("MainWindow").Handle) { // custom css var provider = new CssProvider(); provider.LoadFromPath("Assets/app.css"); Gtk.StyleContext.AddProviderForScreen(Gdk.Screen.Default, provider, 800); // window views var controlsViewModel = new ControlsViewModel(this); var aboutViewModel = new AboutViewModel(this); builder.Autoconnect(this); builder.Autoconnect(controlsViewModel); // events DeleteEvent += Window_DeleteEvent; // menu events _button_menu_control.Clicked += ButtonMenuControlClicked; _button_menu_about.Clicked += ButtonMenuAboutClicked; controlsViewModel.Init(); aboutViewModel.Init(); }
public DashboardForm(Builder builder, IntPtr handle) : base(handle) { CssProvider provider = new CssProvider(); provider.LoadFromPath("test.css"); ApplyCss(this, provider, uint.MaxValue); builder.Autoconnect(this); label1.StyleContext.AddProvider(provider, uint.MaxValue); label3.StyleContext.AddProvider(provider, uint.MaxValue); label4.StyleContext.AddProvider(provider, uint.MaxValue); label5.StyleContext.AddProvider(provider, uint.MaxValue); label2.StyleContext.AddProvider(provider, uint.MaxValue); button1.StyleContext.AddProvider(provider, uint.MaxValue); button2.StyleContext.AddProvider(provider, uint.MaxValue); button3.StyleContext.AddProvider(provider, uint.MaxValue); button5.StyleContext.AddProvider(provider, uint.MaxValue); button3.Clicked += Help_Clicked; historyTree.RowActivated += rowClicked; historyTree.StyleContext.AddProvider(provider, uint.MaxValue); label1.Text = String.Format("Hello, {0}!", MainWindow.manager.session.current.Login); setManagedSystems(); setPluginData(); setupTree(); //ShowAll (); }
private void SetupTheme() { var cssProvider = new CssProvider(); cssProvider.LoadFromEmbeddedResource("Theming.UnoGtk.css"); StyleContext.AddProviderForScreen(Gdk.Screen.Default, cssProvider, UnoThemePriority); }
public Link(string label, string url) { Markup = string.Format("<a href=\"{0}\">{1}</a>", url, label); CanFocus = false; CssProvider css_provider = new CssProvider(); css_provider.LoadFromData("label a { color: #729fcf; font-size: 14pt; }"); StyleContext.AddProvider(css_provider, 800); }
private void LoadStylesheet(string cssName) { string css = ReflectionUtilities.GetResourceAsString($"ApsimNG.Resources.Style.{cssName}.css"); CssProvider provider = new CssProvider(); if (!provider.LoadFromData(css)) { throw new Exception($"Unable to parse {cssName}.css"); } StyleContext.AddProviderForScreen(window1.Screen, provider, StyleProviderPriority.Application); }
public static void ApplyCss(this Widget widget, CssProvider provider, uint priority = uint.MaxValue) { widget.StyleContext.AddProvider(provider, priority); if (widget is Container container) { foreach (var child in container.Children) { ApplyCss(child, provider, priority); } } }
private MainWindow(Builder builder) : base(builder.GetObject("MainWindow").Handle) { builder.Autoconnect(this); CssProvider css = new CssProvider(); Gtk.StyleContext.AddProviderForScreen(Gdk.Screen.Default, css, Gtk.StyleProviderPriority.Application); css.LoadFromPath("./css/gtk.css"); DeleteEvent += Window_DeleteEvent; _button1.Clicked += RenderCityData; city.Activated += RenderCityData; }
public SettingsWindow(Builder builder, IntPtr handle) : base(handle) { this.subscribers = new List <UpdateDelegate> (); CssProvider provider = new CssProvider(); provider.LoadFromPath("test.css"); ApplyCss(this, provider, uint.MaxValue); builder.Autoconnect(this); saveButton.Clicked += SaveButton_Clicked; loadSettings(); }
private void LoadStylesheets() { string css = ReflectionUtilities.GetResourceAsString("ApsimNG.Resources.Style.global.css"); CssProvider provider = new CssProvider(); if (!provider.LoadFromData(css)) { throw new Exception("Unable to parse global.css"); } window1.StyleContext.AddProvider(provider, StyleProviderPriority.Application); }
private static CssProvider GetCssProvider() { var provider = new CssProvider(); using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("invalid.css")) using (var reader = new StreamReader(stream)) { provider.LoadFromData(reader.ReadToEnd()); } return(provider); }
public void ApplyCss(Widget widget, CssProvider provider, uint priority) { widget.StyleContext.AddProvider(provider, priority); var container = widget as Container; if (container != null) { foreach (var child in container.Children) { ApplyCss(child, provider, priority); } } }
private void start() { Resizable = false; CssProvider cssp = new CssProvider(); cssp.LoadFromData(System.IO.File.ReadAllText("css/Program.css")); StyleContext.AddProviderForScreen(Gdk.Screen.Default, cssp, 800); Console.WriteLine("프로그램 실행"); main.Margin = 10; main.RowSpacing = 15; main.ColumnSpacing = 15; main.RowHomogeneous = true; main.ColumnHomogeneous = true; Label difficulty = new Label("난이도를 선택하세요"); difficulty.StyleContext.AddClass("Notice"); easy.Halign = Align.Center; normal.Halign = Align.Center; hard.Halign = Align.Center; extreme.Halign = Align.Center; normal.JoinGroup(easy); hard.JoinGroup(easy); extreme.JoinGroup(easy); main.Attach(difficulty, 1, 1, 1, 1); main.Attach(easy, 1, 2, 1, 1); main.Attach(normal, 1, 3, 1, 1); main.Attach(hard, 1, 4, 1, 1); main.Attach(extreme, 1, 5, 1, 1); Separator sep = new Separator(Orientation.Vertical); sep.Halign = Align.Center; main.Attach(sep, 1, 1, 2, 5); grade.Active = 0; Button start = new Button("시작"); name.PlaceholderText = "이름을 입력하세요"; main.Attach(new Label("정보를 입력하세요"), 2, 1, 1, 1); start.Clicked += startClick; main.Attach(grade, 2, 2, 1, 1); main.Attach(name, 2, 3, 1, 1); main.Attach(start, 2, 4, 1, 2); Add(main); ShowAll(); }
/// <summary> /// test window for dynamic form script /// </summary> void CreateWindow() { var window = new Gtk.Window(WindowType.Toplevel); var image = new Image(); image.File = "test.png"; window.Decorated = false; window.Visual = window.Screen.RgbaVisual; CssProvider cssp = new CssProvider(); cssp.LoadFromData("window { background-color: transparent; }"); window.StyleContext.AddProvider(cssp, StyleProviderPriority.Application); window.Add(image); window.ShowAll(); }
public LoginWindow(Builder builder, IntPtr handle) : base(handle) { //revealer = new Widget (builder.GetObject ("revealer1").Handle); this.Title = "Login Window"; CssProvider provider = new CssProvider(); provider.LoadFromPath("test.css"); ApplyCss(this, provider, uint.MaxValue); builder.Autoconnect(this); DeleteEvent += OnDeleteEvent; loginButton.Clicked += LoginButton_Clicked; OauthButton.Clicked += OauthLogin; settingsButton.Clicked += Settings_Clicked; //ShowAll (); }
public MainWindow() : this(new Builder("MainWindow.glade")) { #if DEBUG if (File.Exists(@"c:\tmp\traces\trace.sample.xt")) { openFile(@"c:\tmp\traces\trace.sample.xt"); } #endif css = new CssProvider(); using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("app.css")) using (StreamReader reader = new StreamReader(stream)) { css.LoadFromData(reader.ReadToEnd()); } this.ApplyCss(css); }
public MainWindow() : base(WindowType.Toplevel) { // Setup GUI WindowPosition = WindowPosition.Center; DefaultSize = new Gdk.Size(600, 300); var provider = new CssProvider(); provider.LoadFromData(".blue-background { background-image: none; background-color: rgb(240, 248, 255); }"); Gtk.StyleContext.AddProviderForScreen(Gdk.Screen.Default, provider, 1); _sikInterface = new SiKInterface(); _headerBar = new HeaderBar(); _headerBar.ShowCloseButton = true; _headerBar.Title = "SiK Radio Configurator"; _boardIdentifiers = new BoardIdentifierControls(); _dataTableControls = new DataTableControls(); _sikInterface.SiKConfig.PropertyChanged += _boardIdentifiers.SiKConfig_PropertyChanged; _dataTableControls.CreateBindings(_sikInterface.SiKConfig); _pageLabel = new Label(NOT_CONN_LBL); Titlebar = _headerBar; Destroyed += (sender, e) => Application.Quit(); _notebook = new Notebook(); _pageContainer = new Box(Orientation.Vertical, 1); _notebook.AppendPage(_pageContainer, _pageLabel); _notebook.AppendPage(new Box(Orientation.Vertical, 5), new Label("TBD")); Add(_notebook); CreatePortSelLine(); CreateDataTable(); CreateBoardIdLine(); CreateButtonsLine(); // TODO: Fix Statusbar at the bottom _statusBar = new Statusbar(); _pageContainer.Add(_statusBar); _cxt = _statusBar.GetContextId("Main page"); ShowAll(); }
public DemoCssBasics() : base("CSS Basics") { SetDefaultSize(600, 500); buffer = new TextBuffer(null); var warning = new TextTag("warning"); warning.Underline = Pango.Underline.Single; buffer.TagTable.Add(warning); var error = new TextTag("error"); error.Underline = Pango.Underline.Error; buffer.TagTable.Add(error); provider = new CssProvider(); provider_reset = new CssProvider(); var container = new ScrolledWindow(); Add(container); var view = new TextView(buffer); container.Add(view); buffer.Changed += OnCssTextChanged; using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("reset.css")) using (StreamReader reader = new StreamReader(stream)) { provider_reset.LoadFromData(reader.ReadToEnd()); } using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("css_basics.css")) using (StreamReader reader = new StreamReader(stream)) { buffer.Text = reader.ReadToEnd(); } // TODO: Connect to "parsing-error" signal in CssProvider, added in GTK+ 3.2 ApplyCss(this, provider_reset, 800); ApplyCss(this, provider, UInt32.MaxValue); ShowAll(); }
/// <summary> /// Recursively applies a new FontDescription to all widgets /// </summary> /// <param name="widget"></param> /// <param name="newFont"></param> private void SetWidgetFont(Widget widget, Pango.FontDescription newFont) { int sizePt = newFont.SizeIsAbsolute ? newFont.Size : Convert.ToInt32(newFont.Size / Pango.Scale.PangoScale); CssProvider provider = new CssProvider(); StringBuilder css = new StringBuilder(); css.AppendLine("* {"); css.AppendLine($"font-family: {newFont.Family};"); css.AppendLine($"font-size: {sizePt}pt;"); css.AppendLine($"font-style: {newFont.Style};"); css.AppendLine($"font-variant: {newFont.Variant};"); css.AppendLine($"font-weight: {newFont.Weight};"); css.AppendLine($"font-stretch: {newFont.Stretch};"); css.Append("}"); provider.LoadFromData(css.ToString()); window1.StyleContext.AddProvider(provider, StyleProviderPriority.Application); }
internal static void ApplyTheme() { if (!ConfigurationState.Instance.Ui.EnableCustomTheme) { return; } if (File.Exists(ConfigurationState.Instance.Ui.CustomThemePath) && (System.IO.Path.GetExtension(ConfigurationState.Instance.Ui.CustomThemePath) == ".css")) { CssProvider cssProvider = new CssProvider(); cssProvider.LoadFromPath(ConfigurationState.Instance.Ui.CustomThemePath); StyleContext.AddProviderForScreen(Gdk.Screen.Default, cssProvider, 800); } else { Logger.PrintWarning(LogClass.Application, $"The \"custom_theme_path\" section in \"Config.json\" contains an invalid path: \"{ConfigurationState.Instance.Ui.CustomThemePath}\"."); } }
private MainWindow(Builder builder) : base(builder.GetObject("MainWindow").Handle) { base.SetDefaultSize(900, 900); CssProvider provider = new CssProvider(); provider.LoadFromPath(@"Styles/gtk-dark.gtk-3.0.Materia.css"); builder.Autoconnect(this); Gtk.StyleContext.AddProviderForScreen(Gdk.Screen.Default, provider, 800); DeleteEvent += Window_DeleteEvent; _openfilebutton.Clicked += Openfile_Clicked; _openfolderbutton.Clicked += Openfolder_Clicked; _SaveButton.Clicked += SaveButton_Click; FileTextEditor.closefile += CloseEditor; _folderexplore.openfile += OpenFolderOpenFile; //Added to keep the Notebook from Breaking _maineditorbook.Add(new Label("Open A file")); }
internal static void LoadFromEmbeddedResource(this CssProvider cssProvider, string embeddedResourceName) { var gtkHostAssembly = typeof(GtkHost).Assembly; var names = gtkHostAssembly.GetManifestResourceNames(); var resource = names.FirstOrDefault(name => name.EndsWith(embeddedResourceName)); if (resource == null) { throw new InvalidOperationException($"There is no resource ending with {embeddedResourceName}"); } using var stream = typeof(GtkHost).Assembly.GetManifestResourceStream(resource); if (stream == null) { throw new InvalidOperationException($"Embedded resource {resource} could not be opened."); } using var streamReader = new StreamReader(stream); var css = streamReader.ReadToEnd(); cssProvider.LoadFromData(css); }
public static void ApplyTheme() { CssProvider cssProvider = new CssProvider(); if (SwitchSettings.SwitchConfig.EnableCustomTheme) { if (File.Exists(SwitchSettings.SwitchConfig.CustomThemePath) && (System.IO.Path.GetExtension(SwitchSettings.SwitchConfig.CustomThemePath) == ".css")) { cssProvider.LoadFromPath(SwitchSettings.SwitchConfig.CustomThemePath); } else { Logger.PrintWarning(LogClass.Application, $"The \"custom_theme_path\" section in \"Config.json\" contains an invalid path: \"{SwitchSettings.SwitchConfig.CustomThemePath}\""); } } else { cssProvider.LoadFromPath(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Theme.css")); } StyleContext.AddProviderForScreen(Gdk.Screen.Default, cssProvider, 800); }
/// <summary> /// Carga el tema de windows y el logo de la aplicación para que gtk lo conozca. /// </summary> private static void LoadTheme() { // nuestros archivos de recursos se encuentran en {InstallDir}/Recursos var resources = Assets.InstallDir.GetAssets("Recursos"); //el tema sera solo para windows if (Info.CurrentSystem.IsWindows()) { //creamos un nuevo proveedor de estilos. var prov = new CssProvider(); //cargamos el thema de windows dark prov.LoadFromPath(resources.GetPath("wind.css")); //obtenemos la pantalla y le aplicamos el tema. var screen = Gdk.Display.Default.DefaultScreen; StyleContext.AddProviderForScreen(screen, prov, StyleProviderPriority.Application); } //anexamos al tema de iconos actual el icono de nuestra app. IconTheme.AddBuiltinIcon("logo", (int)IconSize.Menu, new Pixbuf(resources.GetPath("logo.svg"))); #if DEBUG //advertimos al finalizar objetos GLib.Object.WarnOnFinalize = true; #endif }