Rename Eto.Platform.Android to Eto.Android
Rename Eto.Platform.Direct2D to Eto.Direct2D
Rename Eto.Platform.Gtk to Eto.Gtk
Rename Eto.Platform.iOS to Eto.iOS
Rename Eto.Platform.Mac to Eto.Mac
Rename Eto.Platform.Windows to Eto.WinForms
Rename Eto.Platform.Xaml to Eto.WinRT
Rename Eto.Platform.Wpf to Eto.Wpf
Core updates
- Add HandlerAttribute to specify which handler to use
Obsolete all constructors/methods with Generator as a parameter, and use HandlerAttribute to specify platform handler to use. Fixes #161
- Use AutoInitializeAttribute on the handler interface to specify whether to call initialize automatically (default), or manually in the constructor after calling the handler-specific creation method
Build fixes
Update tutorials
Include buildapp.cmd script in Eto.Platform.Mac.Template nuget to automatically package for mac
Remove InstanceWidget/IInstanceWidget. Fixes #192
Mac: Handle Radio/CheckMenuItem.Validate event
Compatibility updates
Fix initialization with older constructor method
A few comments, combine *.mobile.cs into main class
BREAKING: Make all "public virtual void On..." methods protected to follow conventional event handling standards
- Added ICallback interfaces for handlers that need to callback to trigger events on the widget
- Callback implementations are static and shared across all instances of the object for fewer objects and more performance
- Updated Container.SetParent to pass an action to set the handler backend as OnLoadComplete is now protected (for custom container implementations)
BREAKING: Move all handler interfaces as nested types of the class that implements it. E.g IControl -> Control.IHandler
- This makes the callback and handler interfaces consistent and much easier to deal with when creating new or custom controls.
- Also hides the handler interfaces from autocomplete to avoid confusion on what the interfaces are used for.
- Removed all *.desktop.cs files