2.4.0
Eto.Forms 2.4.0 is now released! This release brings many new cool things, such as a fresh new Gtk platform supporting Gtk+ 3.14 or later, addin updates for VS 2017 and VS for Mac, and many new controls. See below for details.
There have been over 500 commits and 2755 files changed since v2.3, with 7 authors. Thanks to the following for their very generous contributions:
.. and thanks to everyone that has submitted issues to help make Eto.Forms better!
Visual Studio Addins
All new addins have been created for VS 2017 and VS for Mac/MonoDevelop, including form preview for xaml, json, and code view definitions.
Download links for the addins are above!
dotnet new
Project templates are now based on the dotnet template engine. This means you can easily create project templates from the command line using the dotnet sdk or in IDEs like Rider and VS Code. First, install the template package:
dotnet new -i "Eto.Forms.Templates::*"
Now you can create a new application:
dotnet new etoapp
Add --help
to that to get a list of options, such as creating a .sln, using xaml, etc.
.NET Standard
Eto, Eto.Serialization.Xaml, and Eto.Serialization.Json has been migrated to .NET Standard 1.0. They are still compatible with the same platforms and projects as before, but now are much friendlier with .NET Core. (see Gtk Platform)
Gtk Platform
Eto.Platform.Gtk
is now Gtk 3.14+ and uses @cra0zy's exellent GtkSharp library. Works on Windows, Linux, and Mac. This platform is also the first to have full .NET Core support! Note that the project templates do not use .NET Core by default but you can easily change the target framework after.
Note that you can still use Gtk2 by installing the new Eto.Platform.Gtk2
package.
Mac Templates
Projects created on Windows or Linux now can be run directly when loaded in VS for Mac using the Mac/Mac64/XamMac2 platforms, and the Mac platforms all create the .app bundle for you instead of relying on a separate Eto.Platform.Mac.Template
(which is now obsolete).
Drag 'n Drop
A long awaited feature is now here! Fully integrated with each native OS, and gives you great control over which nodes you can drag to for GridView
and TreeGridView
. See here for samples.
AboutDialog
Shows a dialog with all the information about your app. Uses the native GTK3 about dialog, and a custom themed dialog for the other platforms. It'll also automatically grab all the metadata from your assembly!
DocumentControl
A new control that is similar to a TabControl
, but allows the user to close or optionally reorder tabs.
FilePicker
Pick files or folders.
FontPicker
Pick a font family, style, and size.
TextStepper and MaskedTextStepper
A custom stepper that you can control the text completely and react to up/down events.