Fixes #1175. demo.cs editor now implement "Copy", "Cut" and "Paste". (#1176)

This commit is contained in:
BDisp
2021-04-03 17:52:59 +01:00
committed by GitHub
parent 76c292867a
commit 99e26575bb

View File

@@ -242,17 +242,7 @@ static class Demo {
var ntop = Application.Top;
var menu = new MenuBar (new MenuBarItem [] {
new MenuBarItem ("_File", new MenuItem [] {
new MenuItem ("_Close", "", () => { if (Quit ()) { running = MainApp; Application.RequestStop (); } }, null, null, Key.AltMask | Key.Q),
}),
new MenuBarItem ("_Edit", new MenuItem [] {
new MenuItem ("_Copy", "", null, null, null, Key.C | Key.CtrlMask),
new MenuItem ("C_ut", "", null, null, null, Key.X | Key.CtrlMask),
new MenuItem ("_Paste", "", null, null, null, Key.V | Key.CtrlMask)
}),
});
ntop.Add (menu);
var text = new TextView () { X = 0, Y = 0, Width = Dim.Fill (), Height = Dim.Fill () };
string fname = GetFileName ();
@@ -264,12 +254,43 @@ static class Demo {
};
ntop.Add (win);
var text = new TextView () { X = 0, Y = 0, Width = Dim.Fill (), Height = Dim.Fill () };
if (fname != null)
text.Text = System.IO.File.ReadAllText (fname);
win.Add (text);
void Paste ()
{
if (text != null) {
text.Paste ();
}
}
void Cut ()
{
if (text != null) {
text.Cut ();
}
}
void Copy ()
{
if (text != null) {
text.Copy ();
}
}
var menu = new MenuBar (new MenuBarItem [] {
new MenuBarItem ("_File", new MenuItem [] {
new MenuItem ("_Close", "", () => { if (Quit ()) { running = MainApp; Application.RequestStop (); } }, null, null, Key.AltMask | Key.Q),
}),
new MenuBarItem ("_Edit", new MenuItem [] {
new MenuItem ("_Copy", "", Copy, null, null, Key.C | Key.CtrlMask),
new MenuItem ("C_ut", "", Cut, null, null, Key.X | Key.CtrlMask),
new MenuItem ("_Paste", "", Paste, null, null, Key.Y | Key.CtrlMask)
}),
});
ntop.Add (menu);
Application.Run (ntop);
}