demonstrate application and SimpleApplication

This commit is contained in:
Marcel Hollerbach 2018-12-19 17:51:26 +01:00
parent a7c5ff510e
commit aa29d0b370
2 changed files with 29 additions and 27 deletions

View File

@ -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();
}
}

View File

@ -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();
}
}