using Gtk; using System; using TextEditorWidget; using VPKSoftUtils; namespace TextEditorWidgetSample { /// <summary> /// Description of MainWindow. /// </summary> public class EditorApp : Window { EditorWidget Ew = new EditorWidget(false); public EditorApp() : base("EditorWidget v.0.0.2 sample application (c) VPKSoft 2007") { DeleteEvent += new DeleteEventHandler(MainWindowDeleteEvent); Ew.SaveRequest = SaveFile; Ew.LoadRequest = LoadFile; Add(Ew); ShowAll(); SetSizeRequest(600, 500); } [STAThread] public static void Main(string[] arg) { Application.Init(); new EditorApp(); Application.Run(); } void MainWindowDeleteEvent(object o, DeleteEventArgs args) { Application.Quit(); args.RetVal = true; } void SaveFile() { FileChooserDialog Fcd = new FileChooserDialog ("Save file", null, FileChooserAction.Save); Fcd.AddButton(Stock.Cancel, ResponseType.Cancel); Fcd.AddButton(Stock.Open, ResponseType.Ok); int RetVal = Fcd.Run(); if ((ResponseType)RetVal == ResponseType.Ok) { Ew.Editor.SaveTextToFile(Fcd.Filename, Ew.DefaultAttr); } Fcd.Destroy(); } void LoadFile() { try { FileChooserDialog Fcd = new FileChooserDialog ("Open file", null, FileChooserAction.Open); Fcd.AddButton(Stock.Cancel, ResponseType.Cancel); Fcd.AddButton(Stock.Open, ResponseType.Ok); int RetVal = Fcd.Run(); if ((ResponseType)RetVal == ResponseType.Ok) { Ew.Editor.LoadTextFromFile(Fcd.Filename); } Fcd.Destroy(); } catch (Exception E) { Utils.ShowMessage(E.Message); } } } }