diff --git a/apps/csharp/life/src/life_main.cs b/apps/csharp/life/src/life_main.cs index e59b61de..6f98c67a 100644 --- a/apps/csharp/life/src/life_main.cs +++ b/apps/csharp/life/src/life_main.cs @@ -1,9 +1,13 @@ using System; -public class LifeWindow +public class LifeWindow : Efl.Csharp.Application { private LifeBoard lifeBoard; private LifeRender lifeRender; + private Efl.Ui.Win win; + public LifeWindow() { + + } void ResizeEvt(object sender, EventArgs ev) { @@ -30,14 +34,13 @@ public class LifeWindow void KeyDownEvt(object sender, Efl.Input.InterfaceKeyDownEvt_Args ev) { - Efl.Ui.Win win = (Efl.Ui.Win)sender; if (ev.arg.GetKey() == "space") lifeBoard.TogglePause(win); } - public LifeWindow() + public override void args(Efl.LoopArguments args) { - Efl.Ui.Win win = new Efl.Ui.Win(null, (Efl.Ui.Win ewin) => { + win = new Efl.Ui.Win(null, (Efl.Ui.Win ewin) => { ewin.SetWinType(Efl.Ui.WinType.Basic); ewin.SetText("EFL Life"); ewin.SetAutohide(true); @@ -62,19 +65,27 @@ public class LifeWindow lifeBoard.Run(win); } + public override void pause() { + if (win != null) { + lifeBoard.TogglePause(win); + } + } + public override void resume() { + if (win != null) { + lifeBoard.TogglePause(win); + } + } + public override void terminate() { + Console.WriteLine("Goodbye."); + } } public class Example { public static void Main() { - Efl.All.Init(Efl.Components.Ui); - var lifeWin = new LifeWindow(); - // start the mainloop - Efl.Ui.Config.Run(); - - Efl.All.Shutdown(); + lifeWin.launch(); } } diff --git a/apps/csharp/texteditor/src/texteditor_main.cs b/apps/csharp/texteditor/src/texteditor_main.cs index 69e95bf4..2c713dd3 100644 --- a/apps/csharp/texteditor/src/texteditor_main.cs +++ b/apps/csharp/texteditor/src/texteditor_main.cs @@ -17,7 +17,7 @@ using System; -public class TextEditor +public class TextEditor : Efl.Csharp.SimpleApplication { private Efl.Ui.Win win; // The main window private Efl.Ui.Text editorTextBox; // The main text entry @@ -31,6 +31,10 @@ public class TextEditor private readonly string filename = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "texteditor_example.txt"); + public TextEditor() { + + } + // Quits the application private void GUIQuitCb(object sender, EventArgs ea) { @@ -154,7 +158,7 @@ public class TextEditor } // Builds the user interface for the text editor - public TextEditor() + public override void args(Efl.LoopArguments args) { // Create a window and initialize it win = new Efl.Ui.Win(Efl.App.AppMain, (Efl.Ui.Win ewin) => { @@ -185,13 +189,6 @@ public class TextEditor // Initial refresh of the toolbar buttons GUIToolbarRefresh(); } - - // This method won't return until the application quits - public void Run() - { - // Start the EFL main loop - Efl.Ui.Config.Run(); - } } public class Example @@ -201,14 +198,8 @@ public class Example #endif public static void Main() { - // Initialize EFL and all UI components - Efl.All.Init(Efl.Components.Ui); - - var textEditor = new TextEditor(); - textEditor.Run(); - - // Shutdown EFL - Efl.All.Shutdown(); + TextEditor editor = new TextEditor(); + editor.launch(); } }