public string NameFromKeyval(uint keyval) { return(Keyval.Name(keyval)); }
// private MenuButton languageSelectorButton; public RoboPad(WindowType type, String[] args) : base(type) { noOfWindows++; SetDefaultSize(500, 500); Maximize(); DeleteEvent += (sender, s) => { if (!isChangeSaved) { MessageDialog dialog = new MessageDialog(this, DialogFlags.DestroyWithParent, MessageType.Warning, ButtonsType.OkCancel, "Changes Unsaved Are You Sure You Want To Exit "); // Dialog dialog=new Dialog() var response = dialog.Run(); noOfWindows--; if (response == (int)Gtk.ResponseType.Ok) { if (noOfWindows <= 0) { Gtk.Application.Quit(); } } else { s.RetVal = true; } dialog.Dispose(); } else { noOfWindows--; if (noOfWindows <= 0) { Gtk.Application.Quit(); } } }; VBox vBox = new VBox(); List <String> newTextList = new(); var lm = LanguageManager.Default; sourceView = new(); sourceView.Buffer.HighlightSyntax = true; sourceView.WrapMode = WrapMode.Word; sourceView.AutoIndent = true; sourceView.ShowLineNumbers = true; StyleSchemeManager schemeManager = StyleSchemeManager.Default; // StyleScheme styleScheme = schemeManager.GetScheme("pop-light"); // sourceView.Buffer.StyleScheme = styleScheme; sourceView.KeyPressEvent += (o, eventArgs) => { if (Keyval.Name(eventArgs.Event.KeyValue) == "s") { saveFile(o, eventArgs); } else if (Keyval.Name(eventArgs.Event.KeyValue) == "S") { saveAsFile(o, eventArgs); } else if (Keyval.Name(eventArgs.Event.KeyValue) == "o") { openFile(o, eventArgs); } }; headerBar = new HeaderBar(); ScrolledWindow scrolledWindow = new ScrolledWindow(); scrolledWindow.Add(sourceView); headerBar.ShowCloseButton = true; headerBar.Title = "RoboPad"; headerBarOringalText = headerBar.Title; sourceView.Buffer.Changed += (sender, eventArgs) => { headerBar.Title = "*" + headerBarOringalText; if (sourceView.Buffer.Text != previousText) { isChangeSaved = false; } else { isChangeSaved = true; headerBar.Title = headerBarOringalText; } }; ToolButtonHandler toolbar = new ToolButtonHandler(this, sourceView); // Menu menu = new Menu(); // MenuItem openItem = new RadioMenuItem("test"); // menu.Add(openItem); // // menu.ShowAll(); // PopOverMenuHandler popoverMenu = new(this); MenuButton menuButton = new MenuButton(); menuButton.Popover = popoverMenu; Image image = Gtk.Image.NewFromIconName("view-more-symbolic", IconSize.LargeToolbar); menuButton.Image = image; headerBar.PackEnd(menuButton); Statusbar statusbar = new Statusbar(); statusBarLabel = new(""); statusbar.PackStart(statusBarLabel, false, false, 5); languageSelectorButton = new LanguageSelectorButton(sourceView); statusbar.PackEnd(languageSelectorButton, false, false, 5); // Box box = new Box(Gtk.Orientation.Vertical,2); Titlebar = headerBar; vBox.PackStart(toolbar, false, false, 0); vBox.PackStart(scrolledWindow, true, true, 0); vBox.PackStart(statusbar, false, false, 0); Add(vBox); ShowAll(); Show(); if (args != null) { if (args.Length >= 1) { if (!String.IsNullOrWhiteSpace(args[0])) { openFileWithArgs(args[0]); } } } }